矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 2568|回复: 3

ANROID7.1(MOKEE71)兼容指纹的一键锁屏程序(休眠)

[复制链接]
     
发表于 2017-11-7 14:26:17 | 显示全部楼层 |阅读模式
用了近4年的手机,因为买了一个小米蓝牙音箱而发现它的BUG,然后经过数周的努力,也没有能够搞定这个东西,只是因为NUBIA厂方不再升级维护它了,个人的能力有限,开源的东西没能力通读下来,改BUG。源码太多了,看不过来。近4年了,还不支持4G,只好换了。换了小米的红米4X,还算不错,但仍旧喜欢自己修改ROM,刷了MOKEE。买这它其实就是因为它可以刷机。
但ANDROID已经升到了7.1版了,同时它还支持指纹,原来写的一键锁程序不好用了,可以锁,但锁完不能用指纹开机(原来的那个手机上没指纹)。
于是百度上查查看,发现都是这样的问题。想到按电源键是正常好用的,于是查电源键调用了哪些,发现 gotoSleep方法可以用。于是就写了这个应用。代码非常地简单:

  1. public class MainActivity extends Activity {

  2.         @Override
  3.         protected void onCreate(Bundle savedInstanceState) {
  4.                 super.onCreate(savedInstanceState);
  5.         PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);  
  6.         pm.goToSleep(SystemClock.uptimeMillis());  
  7.                 finish();
  8.                 System.exit(0);        }


  9. }
复制代码

不过在eclipse里编译不过去,于是弄个假的PowerManager类,糊弄它:
  1. package android.os;

  2. public class PowerManager {

  3.         public void goToSleep(long uptimeMillis) {
  4.                 // TODO Auto-generated method stub
  5.                
  6.         }

  7. }
复制代码

还有,这功能调用,是要有系统权限的,于是要加系统权限
android:sharedUserId="android.uid.system"
编译通过,还没完,再用apktool反编译,把加进去糊弄人的东西去掉,再编译,用platform证书来签名。于是就成了。
这个APK是需要放在/system/priv-app/里的。重启手机,然后就好用了。
开机用指纹,关机按这个,把电源键给省下来了。也省得电源键坏了手机不好用。

顺手也把这个APP发上来,不过它要用在AOSP签名的系统中才好使,或者你自己有系统的平台签名证书,重新签它一下,或者干脆把签名验证那段给破解了才好用。

powerkey.zip (12.27 KB, 下载次数: 202)

开源系统的好处就是,想怎么改就怎么改,想加点啥都成。
     
发表于 2017-11-7 14:54:50 来自手机 | 显示全部楼层
谢谢分享,顶一下
回复 支持 反对

使用道具 举报

     
发表于 2017-11-8 09:59:39 | 显示全部楼层
感谢分享。。。。。。。。。
回复 支持 反对

使用道具 举报

     
发表于 2017-11-8 14:27:51 | 显示全部楼层
这个就高端了,不会玩,把这个bug卖给小米估计值不少钱
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-4-19 12:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表