0

この問題は、 Android 4.1.1 を実行しているSamsung Galaxy SIII でのみ発生します。Samsung Galaxy Ace および Samsung Galaxy Y では問題ありません。SMS を受信して​​も、受信したブロードキャスト SMS が起動しません。電話に他の SMS アプリはインストールされていません。

SMSブロードキャストを受信するために次のコードを使用しています

    smsReceiver = new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {

        Log.d(TAG, "Inside onReceive of smsReceiver");
        Bundle bundle = intent.getExtras();
        Object[] messages = (Object[]) bundle.get("pdus");
        SmsMessage[] sms = new SmsMessage[messages.length];
        // Create messages for each incoming PDU
        for (int n = 0; n < messages.length; n++) {
            sms[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
        }
        for (SmsMessage msg : sms) {
            //do something
        }
    }
};

IntentFilter intentFilter = new IntentFilter();

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {

    intentFilter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY - 1);

} else {
    // set Interger.MAX_VALUE because other apps like Handcent are intercepting
    intentFilter.setPriority(Integer.MAX_VALUE);

}
intentFilter.addAction("android.provider.Telephony.SMS_RECEIVED");
// register receiver for receive SMS
registerReceiver(smsReceiver, intentFilter);

マニフェストに次の権限を設定しました

<uses-permission android:name="android.permission.WRITE_SMS"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.READ_SMS"/>

logcat へのアクセス権がありません。この 2 日間、Android の迷路で原因を突き止めようとしましたが、何の助けにもなりませんでした。

4

0 に答える 0