android怎么知道自己的应用是否被允许开机启动了 android应用 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个只能根据是否启动了相应的服务来判断,就是说,如果相应的操作完成了,就相当于是被允许了。有些系统,比如小米的,都有设置是否允许自启动,或者开机启动,但是app里边是不能知道用户是否设置了这个权限的,所以只能说,如果允许你启动了,你相应的操作能够做出来,比如启动了服务,这样,只要服务启动起来了,就说明被允许了,反之,则没有。这个道理和连接网络是一样的,小米也有针对某一个app是否允许联网的操作,如果网络权限被禁止了,你app里边也是不知道的,只能通过是否联网成功来判断。 哎,我这几天折腾下来的结果和你的结论一样,但是我看见其他的一些app会在被禁止启动后提示用户区设置,现在也想要这个功能,但是做不到啊 你试试 开机的时候app会收到一个广播的,理论上只要你注册了就会收到开机广播,然后在广播里边操作你需要启动的。最好用能禁止启动的手机或者软件测试一下。看看在被禁止启动的状态下,能不能收到开机广播,或者,在收到广播以后启动的服务能不能正常启动,和在没禁止的时候对比一下,看看能不能找到区别。希望能帮到你。 你试试 开机的时候app会收到一个广播的,理论上只要你注册了就会收到开机广播,然后在广播里边操作你需要启动的。最好用能禁止启动的手机或者软件测试一下。看看在被禁止启动的状态下,能不能收到开机广播,或者,在收到广播以后启动的服务能不能正常启动,和在没禁止的时候对比一下,看看能不能找到区别。希望能帮到你。可以通过程序知道那些应用注册了开机广播,但是在有些系统里,如果你的应用被设置了禁止开机启动,那么开机的时候你注册的广播是没有被系统挂起的,但是当你手动启动以后,你的广播又是一定会被挂起的。这就造成了,我检测不了自己的应用是否被禁止了。 我认为6楼的方法可行,用两个标记变量,写到sharedpreference里auto_boot=true //标记是否开机启动first_lunch=true // 标记是否第一次启动app在mainActivity里判断if(auto_boot) { //自动启动没问题 auto_boot=false; fist_lunch = false;} else if(!auto_boot && first_lunch) { //第一次启动,但是auto_boot==false,被禁止了,提示} else { auto_boot=false; fist_lunch = false;} 我认为6楼的方法可行,用两个标记变量,写到sharedpreference里auto_boot=true //标记是否开机启动first_lunch=true // 标记是否第一次启动app在mainActivity里判断if(auto_boot) { //自动启动没问题 auto_boot=false; fist_lunch = false;} else if(!auto_boot && first_lunch) { //第一次启动,但是auto_boot==false,被禁止了,提示} else { auto_boot=false; fist_lunch = false;}这两个变量,你在什么情况下赋值呢?开机启动的标记,怎么样才能设置成true呢? 推荐你看看这篇文章http://blog.csdn.net/su1216/article/details/7967191 再注册个关机广播,关机时在sharedPreference保存一个信息,比如shutdown=true,然后在开机广播中改变这个值shutdown=false;然后进入app时就可以根据这个值判断 我认为6楼的方法可行,用两个标记变量,写到sharedpreference里auto_boot=true //标记是否开机启动first_lunch=true // 标记是否第一次启动app在mainActivity里判断if(auto_boot) { //自动启动没问题 auto_boot=false; fist_lunch = false;} else if(!auto_boot && first_lunch) { //第一次启动,但是auto_boot==false,被禁止了,提示} else { auto_boot=false; fist_lunch = false;}这两个变量,你在什么情况下赋值呢?开机启动的标记,怎么样才能设置成true呢?上面已经写了,初始化为true,你不能一装上app就被禁止了。 我认为6楼的方法可行,用两个标记变量,写到sharedpreference里auto_boot=true //标记是否开机启动first_lunch=true // 标记是否第一次启动app在mainActivity里判断if(auto_boot) { //自动启动没问题 auto_boot=false; fist_lunch = false;} else if(!auto_boot && first_lunch) { //第一次启动,但是auto_boot==false,被禁止了,提示} else { auto_boot=false; fist_lunch = false;}这两个变量,你在什么情况下赋值呢?开机启动的标记,怎么样才能设置成true呢?上面已经写了,初始化为true,你不能一装上app就被禁止了。还真有的,小米的,安装完成以后,你没打开的时候就可以设置。 如何在TabHost下添加ListView 求助 关于Widget的 ExpandableListView与ScrollView 为什么会运行失败呢。。。汗~~~~~ 创建activity失败,会是怎么回事 请教Android基础知识 安卓刷机,丢失imei了怎么办 View子类调用findViewById()方法报cannot cast 错误 apk反编译 安卓调用opencv库,出现如下问题,求大佬们帮帮忙看看 新人求助 关于socket问题 android shape 和 selector 混合使用没效果
你试试 开机的时候app会收到一个广播的,理论上只要你注册了就会收到开机广播,然后在广播里边操作你需要启动的。最好用能禁止启动的手机或者软件测试一下。看看在被禁止启动的状态下,能不能收到开机广播,或者,在收到广播以后启动的服务能不能正常启动,和在没禁止的时候对比一下,看看能不能找到区别。
希望能帮到你。
希望能帮到你。
可以通过程序知道那些应用注册了开机广播,但是在有些系统里,如果你的应用被设置了禁止开机启动,那么开机的时候你注册的广播是没有被系统挂起的,但是当你手动启动以后,你的广播又是一定会被挂起的。这就造成了,我检测不了自己的应用是否被禁止了。
我认为6楼的方法可行,用两个标记变量,写到sharedpreference里
auto_boot=true //标记是否开机启动
first_lunch=true // 标记是否第一次启动app在mainActivity里判断
if(auto_boot) {
//自动启动没问题
auto_boot=false;
fist_lunch = false;
} else if(!auto_boot && first_lunch) {
//第一次启动,但是auto_boot==false,被禁止了,提示
} else {
auto_boot=false;
fist_lunch = false;
}
我认为6楼的方法可行,用两个标记变量,写到sharedpreference里
auto_boot=true //标记是否开机启动
first_lunch=true // 标记是否第一次启动app在mainActivity里判断
if(auto_boot) {
//自动启动没问题
auto_boot=false;
fist_lunch = false;
} else if(!auto_boot && first_lunch) {
//第一次启动,但是auto_boot==false,被禁止了,提示
} else {
auto_boot=false;
fist_lunch = false;
}
这两个变量,你在什么情况下赋值呢?开机启动的标记,怎么样才能设置成true呢?
我认为6楼的方法可行,用两个标记变量,写到sharedpreference里
auto_boot=true //标记是否开机启动
first_lunch=true // 标记是否第一次启动app在mainActivity里判断
if(auto_boot) {
//自动启动没问题
auto_boot=false;
fist_lunch = false;
} else if(!auto_boot && first_lunch) {
//第一次启动,但是auto_boot==false,被禁止了,提示
} else {
auto_boot=false;
fist_lunch = false;
}
这两个变量,你在什么情况下赋值呢?开机启动的标记,怎么样才能设置成true呢?
上面已经写了,初始化为true,你不能一装上app就被禁止了。
我认为6楼的方法可行,用两个标记变量,写到sharedpreference里
auto_boot=true //标记是否开机启动
first_lunch=true // 标记是否第一次启动app在mainActivity里判断
if(auto_boot) {
//自动启动没问题
auto_boot=false;
fist_lunch = false;
} else if(!auto_boot && first_lunch) {
//第一次启动,但是auto_boot==false,被禁止了,提示
} else {
auto_boot=false;
fist_lunch = false;
}
这两个变量,你在什么情况下赋值呢?开机启动的标记,怎么样才能设置成true呢?
上面已经写了,初始化为true,你不能一装上app就被禁止了。还真有的,小米的,安装完成以后,你没打开的时候就可以设置。