2017-05-17 7 views
1

私は現在SMS関連のアプリケーションで取り組んでいます。電話がサービスエリアにないときを検出する必要があり、サービスエリアに来たときに電話が保留中のメッセージを送信する。今、私はすべてのネットワーク/ WIFI /モバイルデータ接続レシーバを見つけることができますが、私は携帯電話の携帯電話のSIMネットワークを取得するときに呼ばれる受信機が欲しい。どんな助けもありがとう。携帯電話のSIMネットワーク接続を取得するための放送受信機を取得

答えて

0

携帯電話接続が再開された場合、そのようなブロードキャストが存在しないと思います。

AndroidのMMSコードはここに送られていなかったMMSメッセージの処理方法をあなたが見ることができます: https://android.googlesource.com/platform/packages/apps/Mms/+/master/src/com/android/mms/transaction/RetryScheduler.java

を具体的には、彼らはいくつかの時間後に再び再試行するAlarmManagerを設定し、あった場合Xは、彼らがマーク試行失敗しましたメッセージングDBにundliveredようメッセージ:

long retryAt = cursor.getLong(cursor.getColumnIndexOrThrow(PendingMessages.DUE_TIME)); 
Intent service = new Intent(TransactionService.ACTION_ONALARM, null, context, TransactionService.class); 
PendingIntent operation = PendingIntent.getService(context, 0, service, PendingIntent.FLAG_ONE_SHOT); 
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); 
am.set(AlarmManager.RTC, retryAt, operation); 

また、あなたはBOOT_RECEIVED放送への登録、および任意の再試行する必要がSMSメッセージを失敗したかどうかを確認する必要があります。

関連する問題