SMS Android アプリを作成しようとしていますが、これまでに見たことのないエラーが発生します。Google でもそのようなものは見つかりませんでした。それで、あなたが私を助けてくれるなら...私はうれしいです
何らかの理由で、プログラムが 2 つのメッセージ (同じ SMS) を同時に送信しています。しかし、それは本番環境でのみ発生します。シミュレーターを使用しているときは、すべて正常に動作します! それはSMSを一度だけ送信します...
多くの電話と多くの電話会社を試しましたが、常にエラーが発生します。シミュレーターではなく実際の電話でのみ発生するため、何が起こっているのかを発見する方法が本当にわかりません...
コードは以下のとおりです。
private void sendSMS(String phoneNumber, String message, Context context) {
ContextWrapper cw = new ContextWrapper(context);
Context baseContext = cw.getBaseContext();
Intent intentSMS = new Intent(baseContext, SMSManagerService.class);
intentSMS.putExtra("celNumber", phoneNumber);
intentSMS.putExtra("textMessage", message);
Random s = new Random(System.currentTimeMillis());
PendingIntent pendingIntent = PendingIntent.getService(cw, s.nextInt(), intentSMS, PendingIntent.FLAG_ONE_SHOT);
try {
pendingIntent.send();
} catch (CanceledException e) {
}
}
SMSManagerService.class
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Bundle intentExtras = intent.getExtras();
if (intentExtras != null) {
String phoneNumber = intentExtras.getString("celNumber");
String message = intentExtras.getString("textMessage");
if (isContentValid(phoneNumber, message)) {
sendSMS(phoneNumber, message);
}
}
return super.onStartCommand(intent, flags, startId);
}
private void sendSMS(String phoneNumber, String message) {
sentPI = registerSMSSent(phoneNumber, message);
deliveredPI = registerSMSdelivered();
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
}
だから.. 誰か. ヒントはありますか?!
どうも