我有一個應用程序,基本上有兩個接收器,一個接收SMS消息和一個接收MMS消息。當應用程序運行時,它可以很好地工作,收到消息並且接收器都可以工作。不運行時,應用程序接收器不會被調用。除非應用程序正在運行,否則應用程序不會響應收到的短信。
這裏是在SMSReceiver的基本代碼:
@Override
public void onReceive(Context context, Intent intent) {
this.context = context;
Log.i(TAG, "Intent received: " + intent.getAction());
Toast.makeText(context,"Message Received SMS",Toast.LENGTH_LONG).show();
}
清單權限都在那裏和正確的。運行三星S7 Edge Android 7.0(Android 24)。即使不運行或在後臺,它也應該收到文本。
清單:
<uses-permission android:name="android.permission.RECEIVE_MMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<receiver android:name="com.webnation.text2email.receivers.SMSBroadcastReceiver">
<intent-filter android:priority="2147483647">
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>
<receiver android:name="com.webnation.text2email.receivers.MMSBroadcastReceiver" >
<intent-filter>
<action android:name="android.provider.Telephony.WAP_PUSH_RECEIVED" />
<data android:mimeType="application/vnd.wap.mms-message" />
</intent-filter>
</receiver>
你可能在清單中缺少'''exported'''屬性 – ahasbini