ブロードキャストSMSの意図に許可拒否
-
26-09-2019 - |
質問
私の活動は、それ自体がこの意図を放送することができます。
テントI =新しいテント( "android.provider.Telephony.SMS_RECEIVED");
sendBroadcast(I);
これはデフォルトのSMSアプリケーションによって受信されない、すなわち、私はこのブロードキャストを送信し、(アプリケーションにおける放送受信機のセットアップから)戻ってそれを受信することができていますが、これは世界的な放送ではありません。 さらに、私はlogcatでこのエラーを取得しています。
パーミッション拒否:放送テント { 行為= android.provider.Telephony.SMS_RECEIVED } com.smartanuj.scale(PID = 3572、から UID = 10029)が必要です 原因android.permission.BROADCAST_SMS 受信機へ com.android.mms / com.android.mms.transaction.PrivilegedSmsReceiver
私はすでに指定されている。
<uses-permission> android:name="android.permission.BROADCAST_SMS"></uses-permission>
私のマニフェストファイルの
解決
システムキーで署名されたアプリケーションだけが新しいSMSメッセージの到着を放送することがあります。
他のヒント
あなただけのBROADCAST_SMS権限を持っている必要があり、自分でPDUを生成します。そして、それは動作します。あなたがここに概要を見つけることができます:ます。http: //blog.dev001.net/post/14085892020/android-generate-incoming-sms-from-within-your-app の(第2部、 "SMS_RECEIVEDブロードキャストを生成することによってそれを行う")。