可以开机启动一个服务进行动态注册
优先级设置最大值:android:priority="2147483647" //优先值最大也就unsigned int的最大值,360也是这样的,至于那个先监听到,我试了下,貌似是哪个先安装哪个先监听到。
File file = new File("/data/app/");
String[] files = file.list();
来打印此数组的顺序,这个顺序就是你安装的顺序。也就是广播接受先后的顺序。
如果你想改变先后顺序,需要修改你应用程序的包名。因为第三方应用安装后会在data/app下生成com.yourname-1.apk的文件夹,接受广播的顺序跟这个名字是有关的。
顺便提一下,执行上面那2行代码如果用真机调试的话需要root权限。或者系统为eng版本的机器。如果用模拟器调试的话是可以执行的。
360优先级别之所以高是因为他是动态注册的广播,然后开机启动。动态广播比静态优先级别高,动态注册的广播优先级别是谁先注册谁就先接收到。所以这就要归根到谁先启动程序,开机谁先启动,那谁就先注册广播,谁也就能先接收到短信的广播了。至于如何开机先启动,看我上面的回答,数组排名靠前的就先启动。这个仅限第三方安装的。内置的顺序当然要高于第三方
PS:以上文字从论坛而来。。。