小米手机部分广播无法接收到的原因

一、开机广播很容易写,如下代码所示,但是这段代码在小米手机上却失效

  1. <receiver android:name="com.XXXXXXXXXXX >  
  2.             <intent-filter>  
  3.                 <action android:name="android.intent.action.BOOT_COMPLETED" />  
  4.             intent-filter>  
  5.         receiver>  

其实很简单,小米手机默认屏蔽了所有开机广播的接收者,必须让用户手动在【系统与安全】-》【自启动管理】里添加你的程序

那如何告诉用户去设置哩,简单弹个Toast是最简单的方法,不过最好能自动跳转到那个设置界面

经过研究

这个自启动管理不是单独的apk,是系统设置里的一个activity

打开方法如下:

[java]  view plain copy
  1. Intent i = new Intent();  
  2.                 ComponentName comp = new ComponentName("com.android.settings",  
  3.                         "com.android.settings.BackgroundApplicationsManager");  
  4.                 i.setComponent(comp);  
  5.                 startActivity(i);  


二、Android 编程下短信监听在小米手机中失效的解决办法

相信很多人写的短信监听应用在小米手机上是拦截不到短信的,这是因为小米对短信的处置权优先分给了系统。我们可以在短信的【设置】→【高级设置】→【系统短信优先】中发现短信的优先处理权默认是分给系统的,只要关闭这个系统优先权,短信监听应用就可以正常的拦截到短信了。

小米手机部分广播无法接收到的原因_第1张图片 小米手机部分广播无法接收到的原因_第2张图片 小米手机部分广播无法接收到的原因_第3张图片

你可能感兴趣的:(android)