2017-12-07 19 views
0

これを検索して、これを指定する多くのスレッドが見つかりました。しかし、事は私のために働いていません。 "exit_on_sent"を設定しようとしましたが、startAcitivityForResultを使用して試しました。ここに、私が試していたコードスニペットがあります。インテントを使用してSMSを送信した後にアプリケーションに戻る

Intent sendIntent = new Intent(Intent.ACTION_VIEW); 
sendIntent.setData(Uri.parse("smsto:" + phoneNumbers)); // phoneNumbers is a list of phone numbers to which i need to send messages at the same time 
sendIntent.putExtra("sms_body", context.getResources().getString(R.string.message_body)); 
sendIntent.putExtra("exit_on_sent", true); 
context.startActivity(sendIntent); 
+1

まず、[ドキュメント](https://developer.android.com/guide/components/intents-common.html#Messaging)で説明されているように、 'ACTION_SENDTO'を使用してください。第2に、**詳細に**を説明してください**「ものが私のために働いていない」とはどういう意味ですか? – CommonsWare

+0

返事をありがとう、私はあなたの提案をして、ACTION_VIEWの代わりにACTION_SENDTOを使用しましたが、私の問題は、メッセージを送信した後、私の意図がどこから再開していないということです。メッセージングアプリケーションは、メッセージを送信した後でも表示されます。私の要求はメッセージを送った後に私のアプリケーションに戻ることです。 NB:ユーザーのやりとりからメッセージを送信したいと同時に、1回のショットで複数のユーザーにメッセージを送信したい。 – Rino

答えて

1

私の要件は、メッセージを送信した後に戻って自分のアプリケーションに行くことです。

あなたがACTION_SENDTOを使用

、または ACTION_VIEW、または他の Intentアクションは、あなたが何かを行くために、サードパーティのアプリを起動しています。この場合、サードパーティのアプリを起動してSMSメッセージを送信しています。

使用中のAndroidデバイスは約20億個あり、〜10,000個のデバイスモデルに分散しています。これらのデバイスモデルには、あらかじめインストールされているさまざまなSMSクライアントが何十何千もあるとは限りません。また、Playストアや他のアプリ配信チャンネルから他のSMSクライアントをインストールすることもできます。

あなたのアプリが何百ものSMSクライアントのうちの1台を起動するとどうなるのですかは、SMSクライアントの開発者次第ですが、ではありません。

ユーザーエクスペリエンス全体を制御したい場合は、SmsManagerを使用してSMSメッセージをAnkit pointed outとして送信します。ユーザーの優先SMSクライアントを使用する場合は、ACTION_SENDTOを使用してください。ただし、その時点では、SMSクライアントの開発者とユーザーが責任を負うことになります。

+0

説明をありがとうございます。しかし、sendIntent.setData(Uri.parse( "smsto:5375; 894959; 4545433;"))で行っているようなSmsManagerを使用している間に、単一のショットで複数の人にメッセージを送信することは可能ですか? – Rino

+0

@Rino:「SmsManagerを使用している間に、単一のショットで複数の人にメッセージを送信することは可能ですか?なぜあなたがループを恐れるのか分かりません。 – CommonsWare

+0

残念ながら私は、メッセージを送信するか、メッセージをキャンセルして複数の人に送信する必要があるため、ユーザー確認のみでメッセージを送信したいと考えています。 – Rino

1

SMSManagerを使用してSMSをサイレントモードで送信できます。以下の通り:

 try { 

      String ph="1234568790"; 
      String msg="Hello"; 

      SmsManager smsManager = SmsManager.getDefault(); 
      smsManager.sendTextMessage(ph, null,msg, null, null); 
      Toast.makeText(MainActivity.this, "Message Sent", 
        Toast.LENGTH_LONG).show(); 
     } 
     catch (Exception e) 
     { 
      Toast.makeText(MainActivity.this, "Message not Sent", 
        Toast.LENGTH_LONG).show(); 
     } 
+1

No..iメッセージを送信するユーザーのやりとりを望んでいます。また、1回のショットで複数のユーザーにメッセージを送信したいと考えています。 – Rino

関連する問題