android开机启动BroadcastReceiver

不思议 发布于 2014/06/25 17:51
阅读 265
收藏 1

在自己项目中,需要用到开启启动。加了个BroadcastReceiver,在模拟器可以实现开机启动,但真机无法实现。

用户手机的多样性,如何保证我的receive正常启动?网上差了一些资料,apk必须安装在手机内存中才可以实现?我用小米测试,无法将其安装在手机内存中。用户也不会弄,也不会弄,这样用户体验也不太好。求教各位大神,我该怎么处理这个问题!?

加载中
0
xesam
xesam
小米手机貌似默认不能开启自启动,没有办法的。
不思议
不思议
用户多数是三星手机,在小米上安装豌豆荚,豌豆荚不是可以开机启动?
0
ArrayListt
ArrayListt
    // 3.1以后的版本直接设置Intent.FLAG_INCLUDE_STOPPED_PACKAGES的value:32
                if (android.os.Build.VERSION.SDK_INT >= 12) {
                    intent.setFlags(32);

                }

加上这句话。因为3.1以后为了避免恶意程序,所以必须要加这句话。

还有2个情况是不能自启动的

就是,安装之后(安装没运行),和手动在设置里面强制停止

这2个操作也是不能自启动的。

ArrayListt
ArrayListt
回复 @不思议 : 如果是被系统干掉的,那没办法了。有些手机都有特殊的限制,比如我的find5 有个纯净后台设置,只要没有在列表里面的,并且不是活动程序的。都会限制请求网络
不思议
不思议
回复 @刘禹星 : 大概明白了,应该是被小米干掉了~谢谢
ArrayListt
ArrayListt
回复 @不思议 : 我不是告诉了你有2个情况是不能开机启动的么。你看看是不是那2种情况之一?
不思议
不思议
我在onReceive中写入Toast.makeText,没跳出来,好像onReceive都没执行
返回顶部
顶部