如何屏蔽修改安卓原生锁屏屏

Android如何屏蔽Home键
[问题点数:40分,结帖人luowenlong860502]
Android如何屏蔽Home键
[问题点数:40分,结帖人luowenlong860502]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2012年8月 移动平台大版内专家分月排行榜第二
2012年9月 移动平台大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。下次自动登录
现在的位置:
& 综合 & 正文
android 如何禁止通知栏下拉(锁屏应用的时候会用到)
在做锁屏的时候,要禁用通知栏的下拉功能! 在网上找了一下资料,大致有下面两种方法
Object service = getSystemService ("statusbar");
Class &?& statusBarManager = Class.forName
("android.app.StatusBarManager");
Method expand = statusBarManager.getMethod ("disable",int.class);
expand.invoke (service,0x);
} catch (Exception e) {
e.printStackTrace();
&uses-permission android:name="android.permission.STATUS_BAR"/&
&uses-permission android:name="android.permission.DISABLE_STATUS_BAR"/&
并使用系统签名
/blog/1171934
开始的使用没有注意到 最后的一句话“并使用系统签名“
导致设置失败,
遇到的编译错误见下面(LOG)后来
1. 在应用的AndroidManifest.xml中的manifest节点中加入android:sharedUserId="android.uid.system"这个属性。
2. 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行
让程序运行到系统进程中,就可以了!
(这里我是在源码环境下编译,在真机上运行)
public static final
int backMask = StatusBarManager.DISABLE_EXPAND ;
在onCreate里添加下面两句
//Remove notification bar
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
//disable the notification's expand feature
StatusBarManager mStatusBarManager = (StatusBarManager)getSystemService("statusbar");
mStatusBarManager.disable(backMask);
剩余的操作同 1) 运行ok!
: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xin.lock/com.xin.lock.MeterLock}: java.lang.SecurityException: StatusBarManagerService: Neither user 10072 nor current process has android.permission.STATUS_BAR.
05-20 22:36:21.819: ERROR/AndroidRuntime(17555):
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1840)
05-20 22:36:21.819: ERROR/AndroidRuntime(17555):
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1856)
05-20 22:36:21.819: ERROR/AndroidRuntime(17555):
at android.app.ActivityThread.access$1600(ActivityThread.java:118)
05-20 22:36:21.819: ERROR/AndroidRuntime(17555):
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:976)
05-20 22:36:21.819: ERROR/AndroidRuntime(17555):
at android.os.Handler.dispatchMessage(Handler.java:99)
05-20 22:36:21.819: ERROR/AndroidRuntime(17555):
at android.os.Looper.loop(Looper.java:130)
05-20 22:36:21.819: ERROR/AndroidRuntime(17555):
at android.app.ActivityThread.main(ActivityThread.java:4240)
05-20 22:36:21.819: ERROR/AndroidRuntime(17555):
at java.lang.reflect.Method.invokeNative(Native Method)
05-20 22:36:21.819: ERROR/AndroidRuntime(17555):
at java.lang.reflect.Method.invoke(Method.java:507)
05-20 22:36:21.819: ERROR/AndroidRuntime(17555):
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
05-20 22:36:21.819: ERROR/AndroidRuntime(17555):
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:804)
05-20 22:36:21.819: ERROR/AndroidRuntime(17555):
at dalvik.system.NativeStart.main(Native Method)
05-20 22:36:21.819: ERROR/AndroidRuntime(17555): Caused by: java.lang.SecurityException: StatusBarManagerService: Neither user 10072 nor current process has android.permission.STATUS_BAR.
05-20 22:36:21.819: ERROR/AndroidRuntime(17555):
at android.os.Parcel.readException(Parcel.java:1322)
05-20 22:36:21.819: ERROR/AndroidRuntime(17555):
at android.os.Parcel.readException(Parcel.java:1276)
05-20 22:36:21.819: ERROR/AndroidRuntime(17555):
at com.android.internal.statusbar.IStatusBarService$Stub$Proxy.disable(IStatusBarService.java:329)
05-20 22:36:21.819: ERROR/AndroidRuntime(17555):
at android.app.StatusBarManager.disable(StatusBarManager.java:83)
05-20 22:36:21.819: ERROR/AndroidRuntime(17555):
at com.xin.lock.MeterLock.onCreate(MeterLock.java:55)
05-20 22:36:21.819: ERROR/AndroidRuntime(17555):
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-20 22:36:21.819: ERROR/AndroidRuntime(17555):
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1804)
05-20 22:36:21.819: ERROR/AndroidRuntime(17555):
... 11 more
=======================================================一下是参考文章 =========================================================
Android中应用程序如何获得系统签名权限
有些库的使用条件比较苛刻,要求同一签名的程序才可以获得访问权。此时即便是在AndroidManifest.xml中添加了相应的permission,依旧会得到没有xx访问权限的问题。比如android.permission.ACCESS_SURFACE_FLINGER 。
第一个方法简单点,不过需要在Android系统源码的环境下用make来编译:
1. 在应用程序的AndroidManifest.xml中的manifest节点中加入android:sharedUserId="android.uid.system"这个属性。
2. 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行
3. 使用mm命令来编译,生成的apk就有修改系统时间的权限了。
第二个方法麻烦点,不过不用开虚拟机跑到源码环境下用make来编译:
1. 同上,加入android:sharedUserId="android.uid.system"这个属性。
2. 使用eclipse编译出apk文件,但是这个apk文件是不能用的。
3. 用压缩软件打开apk文件,删掉META-INF目录下的CERT.SF和CERT.RSA两个文件。
4. 使用目标系统的platform密钥来重新给apk文件签名。这步比较麻烦,首先找到密钥文件,在我的Android源码目录中的位置是"build\target\product\security",下面的platform.pk8和platform.x509.pem两个文件。然后用Android提供的Signapk工具来签名,signapk的是在"build\tools\signapk"下,用法为"signapk
platform.x509.pem platform.pk8 input.apk output.apk",文件名最好使用绝对路径防止找不到,也可以修改源直接使用。
这样最后得到的apk和第一个方法是一样的。
最后解释一下原理,首先加入android:sharedUserId="android.uid.system"这个属性。通过Shared User id,拥有同一个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上连安装都安装不了。试试原始的Android中的key来签名,程序在模拟器上运行OK,不过放到G3上安装直接提示"Package ... has no signatures that match those in shared user android.uid.system",这样也是保护了系统的安全。
最最后还说下,这个android:sharedUserId属性不只可以把apk放到系统进程中,也可以配置多个APK运行在一个进程中,这样可以共享数据,应该会很有用的。
REF:/go.php?url=http%3A%2F%%2Fblog%2F%3Fuid-49302-action-viewspace-itemid-907
&&&&推荐文章:
【上篇】【下篇】安卓手机怎么阻止系统锁屏,设置肯定是不管用了,有没有好用的软件?_百度知道
安卓手机怎么阻止系统锁屏,设置肯定是不管用了,有没有好用的软件?
我说锁屏意思用手触摸菜单键、返键类虚拟按钮屏幕亮非按实体电源键按破电源键尤其微信、QQ候每隔10秒按早晚按坏诺基亚设置锁键盘呢安卓、苹设计脑残
待机锁屏间设置设置键&找显示&屏幕超选择30钟~30操作锁屏
我是说黑屏但是不锁定,30分钟这个我也会,如果这么设置了,手机还能用几小时?
其他类似问题
3人觉得有用
按默认排序
其他3条回答
屏幕黑唤醒···唤醒解锁···现唯能做再刷ROM候·自精简ROM``锁屏删掉····
那样设计的话,你放裤兜里的时候就。。到时候肯定有比现在多得多的人骂安卓设计脑残了
这个应该是不可以的
安卓手机的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Android中如何禁止屏幕休眠和锁屏 - 下载频道 - CSDN.NET
&&&&Android中如何禁止屏幕休眠和锁屏
&Android中如何禁止屏幕休眠和锁屏
Android中如何禁止屏幕休眠和锁屏 Android中如何禁止屏幕休眠和锁屏
若举报审核通过,可奖励20下载分
被举报人:
whdx666666
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
Q.为什么我点的下载下不了,但积分却被扣了
A. 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。
Q.我的积分不多了,如何获取积分?
A. 传优质资源可以获取积分,详细见。选择完成有奖的任务,可以获取积分。选择购买VIP会员服务,无需积分下载资源。评价资源返积分:第一次绑定手机,将获50下载积分及100论坛可用分。论坛可用分兑换下载积分。
下载资源意味着您已经同意遵守以下协议
资源的所有权益归上传用户所有
未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途
CSDN下载频道仅提供交流平台,并不能对任何下载资源负责
下载资源中如有侵权或不适当内容,
本站不保证本站提供的资源的准确性,安全性和完整性,同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
移动开发下载排行
你下载资源过于频繁,请输入验证码
如何快速获得积分?
你已经下载过该资源,再次下载不需要扣除积分
Android中如何禁止屏幕休眠和锁屏
所需积分:1
剩余积分:
VIP会员,免积分下载
会员到期时间:日
剩余下载次数:1000}

我要回帖

更多关于 修改安卓原生锁屏 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信