使用android隱藏api實現(xiàn)亮度調(diào)節(jié)的方法
Android 1.5之后將調(diào)節(jié)亮度的api隱藏了,不過android的源碼中依然有方法可以實現(xiàn),如下:
IPowerManager power = IPowerManager.Stub.asInterface(ServiceManager
.getService("power"));
if (power != null) {
power.setBacklightBrightness(brightness);
上面的代碼無法直接在官方的sdk中調(diào)用,會提示找不到IpowerManager和I ServiceManager,需要下載android的源碼,將調(diào)用這個方法的工程在android源碼環(huán)境下編譯。
編譯方法如下,在調(diào)用該方法的工程根目錄下創(chuàng)建Android.mk文件:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := user
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := myProject
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
另外,還需要在應用程序的AndroidManifest.xml中的manifest節(jié)點中加入android:sharedUserId="android.uid.system"這個屬性。(更正,這個屬性不需要添加)
將工程目錄拷貝到/packages/apps/下,執(zhí)行mmm編譯。會在out目錄下生成apk文件,這里的apk還無法直接使用,會提示簽名不符,原因是程序想要運行在系統(tǒng)進程中還要有目標系統(tǒng)的platform key。
接下來使用platform key對apk簽名:
1. 用壓縮軟件打開apk文件,刪掉META-INF目錄下的CERT.SF和CERT.RSA兩個文件。
2. 使用目標系統(tǒng)的platform密鑰來重新給apk文件簽名。首先找到密鑰文件,在我的Android源碼目錄中的位置是"build\target\product\security",下面的platform.pk8和platform.x509.pem兩個文件。然后用Android提供的Signapk工具來簽名,signapk的源代碼是在"build\tools\signapk"下,用法為"java –jar signapk.jar platform.x509.pem platform.pk8 input.apk output.apk"
簽名后的apk就可以使用了,通過這種方法還可以使用其他的隱藏api。
- Android開發(fā)實現(xiàn)調(diào)節(jié)屏幕亮度功能
- Android視頻播放器屏幕左側(cè)邊隨手指上下滑動亮度調(diào)節(jié)功能的原理實現(xiàn)
- Android亮度調(diào)節(jié)的幾種實現(xiàn)方法
- Android編程調(diào)節(jié)屏幕亮度(背景燈)及保持背景燈常亮的方法
- Android調(diào)節(jié)屏幕亮度實現(xiàn)代碼
- android 如何設置開機后屏幕亮度默認值為自動調(diào)節(jié)
- android 屏幕亮度調(diào)節(jié)方法詳解
- Android 如何實現(xiàn)亮度自動調(diào)節(jié)
相關文章
Android開發(fā)入門環(huán)境快速搭建實戰(zhàn)教程
最近想重新學習下Android,學習之前開發(fā)環(huán)境的搭建是個首先要解決的問題,所以下面這篇文章主要給大家介紹了Android開發(fā)環(huán)境搭建的相關資料,文中將實現(xiàn)的步驟一步步介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧。2017-11-11
Android開發(fā)控制ScrollView滑動速度的方法
這篇文章主要介紹了Android開發(fā)控制ScrollView滑動速度的方法,結合實例形式分析了Android編程中ScrollView滑動事件相關操作技巧,需要的朋友可以參考下2017-02-02
Android開發(fā)筆記之Android中數(shù)據(jù)的存儲方式(一)
這篇文章主要介紹了Android開發(fā)筆記之Android中數(shù)據(jù)的存儲方式(一) 的相關資料,需要的朋友可以參考下2016-01-01
使用Chrome瀏覽器調(diào)試Android App詳解
這篇文章主要介紹了使用Chrome瀏覽器調(diào)試Android App詳解,本網(wǎng)講解了使用Facebook開源Stetho實現(xiàn)在Chrome中調(diào)試Android App中,需要的朋友可以參考下2015-05-05
Android 解決嵌套Fragment無法接收onCreateOptionsMenu事件的問題
本文主要介紹Android Fragment無法接收onCreateOptionsMenu事件的問題,這里給出解決辦法以及詳細代碼,希望能幫助有需要的小伙伴2016-07-07
Android?Studio實現(xiàn)音樂播放器2.0的全過程
音樂帶給人的聽覺享受是無可比擬的,動聽的音樂能夠愉悅?cè)说纳硇?讓人更加積極地去熱愛生活,下面這篇文章主要給大家介紹了關于Android?Studio實現(xiàn)音樂播放器2.0的相關資料,需要的朋友可以參考下2022-02-02
Android RecyclerView四級緩存源碼層詳細分析
RecyclerView是Android一個更強大的控件,其不僅可以實現(xiàn)和ListView同樣的效果,還有優(yōu)化了ListView中的各種不足。其可以實現(xiàn)數(shù)據(jù)縱向滾動,也可以實現(xiàn)橫向滾動(ListView做不到橫向滾動)。接下來講解RecyclerView的用法2022-11-11
Android控件ViewFlipper仿淘寶頭條垂直滾動廣告條
這篇文章主要為大家詳細介紹了Android控件ViewFlipper仿淘寶頭條垂直滾動廣告條,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05

