私のアプリは着信SMSを読み取ります。私は受信者を実装し、マニフェストにパーミッションとレシーバーを追加しましたが、SMSが受信されると、logcatに次のメッセージが表示されます。許可の否認:ブロードキャストインテントact = android.provider.Telephony.SMS_RECEIVED
12-29 13:25:00.081 2030-2044 /? (UID = 1001)com.android.phone(pid = 5234、 )からのインテント{act = android.provider.Telephony.SMS_RECEIVED flg = 0x8000010(エクストラ)}}はuidからエクスポートされません10665により受信 com.tatvic.vatsal.test_uninstall_tracking/com.tatvic.lib.uit.SmsReceiver
にマニフェスト:
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<application
....>
<receiver android:name=".SmsReceiver"
android:exported="false">
<intent-filter android:priority="1000">
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>
</application>
SmsReceiver:
public class SmsReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Telephony.Sms.Intents.SMS_RECEIVED_ACTION) && intent.getExtras() != null) {
Log.d("MessageReceived", "MessageReceived");
}
}
}
私はStackoverflowで同様のスレッドを読んだことが何も役立ちません。私はこれをMarshmallow OSでテストし、SMSの許可を得ました。
受信したSMSをアプリで受信するにはどうすればよいですか?
編集:アプリを開いたりMenifest
ファイルのreceiver
タグにexported = true
を設定した後、バックグラウンドであるされたとき、私は私のアプリでSMSを受信することができています
。しかし、アプリが閉鎖された場合私はlogcatで次のメッセージを受け取り、はSMSを受け取ることができません。
12-2914:28:27.111 2030-2044 /? I/ActivityManager:開始PROC 8428:com.tatvic.vatsal.test_uninstall_tracking /放送用u0a666 com.tatvic.vatsal.test_uninstall_tracking/com.tatvic.lib.uit.SmsReceiver
マニフェストの残りの部分を投稿してください。 'onReceive()'はメッセージをログに記録する以外に何かをしますか?もしそうなら、そのコードも投稿してください。 Logcatで例外が表示されますか? logcatをフィルタリングしないでください。貴重なものや重要なものが見つからないことがあります。 –
これを試してみてくださいstackoverflow.com/a/41221852/5488468 –