Android多次重启系统的功能实现

由于工作需求,测试GG火火找我帮忙弄个可多次循环重启功能的小apk,所以花了点时间搞了下这个问题,其中有参考到以下文章:

http://blog.csdn.net/randyrhoads/article/details/7986650


1、遇到的第一个问题

      没有权限。所以参考了上述链接中的方法, 在AndroidManifest.xml文件下添加android:sharedUserId="android.uid.system" 。

2、遇到第二个问题

   重启后没接收到广播。按理说我在AndroidManifest.xml文件下已经注册了

<receiver android:name="com.lomo.reboottest.RebootReceiver">
            <intent-filter >
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
        </receiver>

可是当我在xml文件中再添加<category android:name="android.intent.category.LAUNCHER" />这一句,并且在java文件中执行intent.getAction().equals("android.intent.action.BOOT_COMPLETED")的判断他才起作用,有点诡异;


3、遇到第三个问题

就是我自己的问题了。我是用SharedPreferences来保存需要重启的次数的,但是我在代码中先执行重启操作,在保存数据(没重启一次,次数要减少一次),导致执行改程序一直无限重启。应该先保存数据再执行重启操作。


关于添加系统签名所需要的文件我也已经打包好在压缩包里面了,具体源码也在那里。由于是只小菜鸟,缩写的代码有很多问题和冗余的,部分的东西自己也还没理解,所以请大家多多指教,非常感谢!


系统签名文件:http://download.csdn.net/detail/j236027367/8204127


循环重启功能的实现源码:http://download.csdn.net/detail/j236027367/8204141

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值