我的應用程序讀取輸入的短信。我已經實現了接收器,在Manifest中添加了許可和接收器,但是當接收到SMS時,我會在logcat中獲得以下消息。權限拒絕:廣播意圖的行爲= android.provider.Telephony.SMS_RECEIVED
12-29 13:25:00.081 2030-2044 /? W/BroadcastQueue:權限拒絕: 廣播意圖{act = android.provider.Telephony.SMS_RECEIVED flg = 0x8000010(has extras)} from com.android.phone(pid = 5234, uid = 1001)不會從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");
}
}
}
我已閱讀#2類似的線程,但沒有什麼幫助。我已經在Marshmallow操作系統上測試了這個,並允許SMS允許。
我怎樣才能收到的短信在我的應用程序?
編輯:
我能接收短信在我的應用程序被打開或者是背景Menifest
文件receiver
標籤設置exported = true
後時。但是,當應用程序被關閉我在logcat中得到以下信息和無法接收短信。
12-29 14: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 –