我的短信接收代码在除小米红米设备外的所有设备上都能正常工作
在小米红米设备上,当应用程序被从最近的应用程序列表中滑动或设备重新启动后,直到我手动启动应用程序而被杀死时,我的应用程序(广播接收器)无法接收短信。(在 Mi Marshmallow 和 MI Lollipop 设备上测试)。
此问题仅发生在 MI 设备上。应用程序在三星、HTC、索尼、摩托罗拉、Micromax 等其他设备上运行良好。
我在清单中的代码:
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<receiver
android:name=".receiver.SMSBroadcastReceiver"
android:enabled="true"
android:priority="999">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
广播接收器:
public class SMSBroadcastReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
if (Constants.SMS_RECEIVED_ACTION.equals(intent.getAction())) {
mContext = context.getApplicationContext();
mIntent = intent;
sendIntent();
} else {
LogUtil.e(TAG, "Intent action: " + intent.getAction());
}
}
}