Android开发怎么实现应用层面屏蔽状态栏


本篇内容主要讲解“Android开发怎么实现应用层面屏蔽状态栏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android开发怎么实现应用层面屏蔽状态栏”吧!一、由于StatusBarManager在SDK中没有提供,所以需要使用反射来调用该类的方法代码部分如下:禁用通知栏需要添加以下权限并使用系统签名:网上资料中有提到如果没有使用系统签名则会报如下错误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文件签名。首先要找到密钥文件,如”buildtargetproductsecurity”,下面的platform.pk8和platform.x509.pem两个文件,然后用Android提供的SignApk工具来签名,该工具源码在”buildtoolssignapk”下,用法是”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锁屏都是使用该方法,具体代码如下:重写activity的onWindowfocuschanged方法,执行如上操作即可。 但是此种方法有严重的适配性问题,不同的系统下的回滚方法名不一样,需要对所有版本进行适配,非常繁琐。到此,相信大家对“Android开发怎么实现应用层面屏蔽状态栏”有了更深的了解,不妨来实际操作一番吧!这里是百云主机网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: MySQL Replication中并行复制怎么实现

这篇文章主要介绍“MySQLReplication中并行复制怎么实现”,在日常操作中,相信很多人在MySQLReplication中并行复制怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQLReplication中…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 04/11 12:32
下一篇 04/11 12:38

相关推荐