老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

Android開發如何實現應用層面屏蔽狀態欄-創新互聯

這篇文章主要為大家展示了“Android開發如何實現應用層面屏蔽狀態欄”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Android開發如何實現應用層面屏蔽狀態欄”這篇文章吧。

為余江等地區用戶提供了全套網頁設計制作服務,及余江網站建設行業解決方案。主營業務為成都網站制作、網站設計、余江網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

具體如下:

一、由于StatusBarManager在SDK中沒有提供,所以需要使用反射來調用該類的方法

代碼部分如下:

Object service = getSystemService("statusbar");
try {
    Class  statusBarManager = Class.forName("Android.app.StatusBarManager");
    Method expand = statusBarManager.getMethod("disable",int.class);
    expand.invoke (service,0×00000001);
} catch (Exception e) {
    e.printStackTrace();
}

禁用通知欄需要添加以下權限并使用系統簽名:


網上資料中有提到如果沒有使用系統簽名則會報如下錯誤

Caused by: Java.lang.SecurityException: StatusBarManagerService: Neither user 10072 nor current process has android.permission.STATUS_BAR.

在使用系統簽名之前需要

1.在應用程序的AndroidManifest.xml中的manifest節點中加入android:sharedUserId="android.uid.system"
2.修改Android.mk文件,加入LOCAL_CERTIFICATE:=platform

讓程序運行到系統進程中

Android中使應用程序獲得系統簽名權限方法:

1.需要在Android系統源碼的環境下用make來編譯

(1)在應用程序的AndroidManifest.xml中的manifest節點中加入android:sharedUserId="android.uid.system"
(2)修改Android.mk文件,加入LOCAL_CERTIFICATE:=platform
(3)使用mm命令來編譯生成APK即可

2.不需要在系統源碼環境下編譯

(1)在應用程序的AndroidManifest.xml中的manifest節點中加入android:sharedUserId="android.uid.system"
(2)使用eclipse編譯出APK文件,此時的APK文件不可用
(3)用壓縮軟件打開APK文件,刪掉META-INF目錄下的CERT.SF和CERT.RSA兩個文件
(4)使用目標系統的platform密鑰來重新給APK文件簽名。首先要找到密鑰文件,如"build\target\product\security",下面的platform.pk8和platform.x509.pem兩個文件,然后用Android提供的SignApk工具來簽名,該工具源碼在"build\tools\signapk"下,用法是"signapk platform.x509.pem platform.pk8 input.apk output.apk"

原理:

首先加入android:sharedUserId="android.uid.system"這個屬性,通過SharedUserId擁有同一個User ID的多個APK可以配置成運行在同一個進程中。那么把程序的UID配成android.uid.system,也就是要讓程序運行在系統進程中,就具有相應的權限了。

但是只是加入UID還不夠,這時候的APK是無法安裝的,因為簽名不符。程序想要運行在系統進程中還要有目標系統的platform key,就是上面第二個方法中的platform.pk8和platform.x509.pem兩個文件。用這兩個key簽名后apk才真正可以放入系統進程中,第一個方法的LOCAL_CERTIFICATE:=platform其實就是用這兩個key簽名

這也有一個問題,就是這樣生成的程序只有在原始的Android系統或自己編譯的系統中才可用,因為這樣的系統才可以拿到platform.pk8和platform.x509.pem兩個文件,要是別家公司的Android系統連安裝都安裝不了。目前只是整理了資料,還沒有進行實際開發,之后如果有實際應用這部分內容,會將最后結果整理發布。

二、如果是系統級應用,也就是手機廠家植入的應用,可以使用disable(int)的方法來進行屏蔽,參數如上源碼五個參數之一即可。但是如果是在應用層上的,disable方法因為權限問題無法使用(如果一定要使用必須具有系統簽名)。這個時候可以使用collapse()方法,現在的小米鎖屏和360鎖屏都是使用該方法,具體代碼如下:

public void disableStatusBar(){
    try {
      Object service = getSystemService("statusbar");
      Class claz = Class.forName("android.app.StatusBarManager");
      Method expand = claz.getMethod("collapse");
      expand.invoke(service);
    } catch (Exception e) {
      e.printStackTrace();
    }
}

重寫activity的onWindowfocuschanged方法,執行如上操作即可。 但是此種方法有嚴重的適配性問題,不同的系統下的回滾方法名不一樣,需要對所有版本進行適配,非常繁瑣。

以上是“Android開發如何實現應用層面屏蔽狀態欄”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創新互聯行業資訊頻道!


網頁名稱:Android開發如何實現應用層面屏蔽狀態欄-創新互聯
URL標題:http://www.xueling.net.cn/article/cogppo.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 国产亚洲免费在线观看 | 国产超碰人人爽人人做人人爱 | 亚洲人成a在线网站 | 精品国产视频在线观看 | 亚洲精品一区二区三区精品 | 免费一及片 | 精品综合无码视频久久久 | 国产精品久久免费 | 欧美亚洲国产精品 | 国产不卡av在线播放 | 好男人好资源在线观看免费视频 | 无码熟妇人妻AV影音先锋 | 色哟哟日韩精品 | 成人亚洲a片v一区二区三区网址 | 国产成人精品免费视频大全最热 | 亚洲国产精品综合小说图片区 | 一区二区三区免费在线播放 | 国产成人?合一区二区三区 国产人成一区二区三区影院 | 欧美日韩国产一级片 | 国产精品999久久久 日韩av影院在线观看 | 久久99精品久久久久久9 | YW尤物AV无码国产在线观看 | 国产一区网址 | 欧美高清FREEXXXX性 | 粗大的内捧猛烈进出欧美 | 大又大又粗又硬又爽少妇毛片 | 91嫩草欧美久久久九九九 | 久99久人碰人视频在线 | 青苹果乐园高清免费看 | 中文字幕最新 | 久色欧美| 国产欧美一区二区三区精品酒店 | 亚洲手机在线人成网站 | 日韩a在线看免费观看视频 国产做a爱一级毛片久 | 天堂在线www资源在线 | 天天干天天射天天操天天摸 | 亚洲成成熟女人专区 | 亚洲精品无码久久久久AV老牛 | 国产A∨天天免费观看美女 在线免费观看视频黄 | 久久香蕉国产线看观看手机 | 成人午夜sm精品久久久久久久 |