私は基本的に、SMSメッセージを受信する受信者とMMSメッセージを受信する受信者の2つの受信者を持つアプリを持っています。アプリケーションが実行されているとき、それは完全に動作し、メッセージは受信され、受信者は両方とも動作します。実行していないときは、アプリ受信者は呼び出されません。アプリが実行されていない限り、受信したSMSメッセージに応答しません。
@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();
}
マニフェスト権限すべてが、正しい:
はここSMSReceiverにおける基本的なコードです。 Samsung 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>
マニフェスト – ahasbini