2 qiannum qianNUM 于 2016.05.09 17:17 提问

android 如何做到QQ类似那么强大的开机自启动。 10C

android 如何做到QQ类似那么强大的开机自启动。普通的通过的添加权限,和BOOT_COMPLETED的Receiver好像在真机上根本没有用。

6个回答

bdmh
bdmh   Ds   Rxr 2016.05.09 17:22

你接收开机广播,然后自动你需要的功能

qianchedu
qianchedu   2016.05.10 12:12

在配置文件AndroidManifest.xml中向系统注册receiver,子节点 intent-filter 表示接收android.intent.action.BOOT_COMPLETED 消息





同时需要添加相应权限

在Receiver中就可以添加开机需要进行的操作

public class BootCompletedReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub
}

}

JM_beizi
JM_beizi   2016.05.09 17:50

不仅仅是开机自启动,QQ 黑科技太多了,之前不是说在屏幕上有个一像素的小点,根本杀不掉。 而且像QQ 那样的大公司,会和手机有商务合作,加入白名单。另外启动其他的应用程序可能也会启动QQ。

qianNUM
qianNUM 恩有这个可能性,不过我检测了手机启动用时,qq启动只比系统启动慢了1秒
一年多之前 回复
sudaming88888888
sudaming88888888   2016.05.09 23:02

在配置文件里面加入开机的广播接受器,就成了静态配置的接收器,这样的接受器只要装上软件,就能接受开机广播,并且不能通过代码来取消

sudaming88888888
sudaming88888888 回复qianNUM: 好吧,我之前没有意识到这一点,学习了
一年多之前 回复
qianNUM
qianNUM 我记得好像也是这样的,但是目前看来好像不行了。我测试后发现,首先注册广播需要运行代码,不然单纯安装是无效的;其次运行过后杀死进程,也是无效的。
一年多之前 回复
qq_34920350
qq_34920350   2016.05.10 08:49

对啊,按他们说的用广播接收者嘛,,,其实360是可以关闭qq后台和开机启动的。。。。。。。。。。。。,,
安卓程序都是可以通过包名调用另一个程序启动的

 ComponentName componentName=new ComponentName("com.example.mathed","com.example.mathed.MainActivity"); 
         Intent intent=new Intent();   
         intent.setComponent(componentName);   
         intent.setAction(Intent.ACTION_VIEW);   
         startActivity(intent); 
xesam
xesam   2016.05.11 13:54

他们都是跟厂商有合作的。不信把你的包名换成QQ的看看,一样牛逼。。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!