1

私の Android アプリケーションでは、以下のコードを使用して SMS の送信を実装しました。

   Intent smsIntent = new Intent(Intent.ACTION_VIEW);

    smsIntent.putExtra("sms_body", "Hello World!"); 
    smsIntent.putExtra("address", "0123456789");
    smsIntent.setType("vnd.android-dir/mms-sms");

    startActivity(smsIntent);

私の問題は、デバイスに複数の SMS アプリケーションがある場合、セレクタを開いて送信者アプリケーションを選択することです。セレクターを開いてほしくありません。セレクターを開かずに Android のネイティブ SMS アプリから送信したい。したがって、これを達成するための助けをいただければ幸いです。

4

2 に答える 2

5

私の Android アプリケーションでは、以下のコードを使用して SMS の送信を実装しました。

これは、SMS メッセージを送信する適切な方法ではありません。ACTION_SENDまたはACTION_SENDTO(後者は) を使用してくださいsmsto: Uri。SMS メッセージを送信できるが、使用している特定の構造に応答しないデバイスに遭遇する場合があります。これは、SMS メッセージIntentを送信する方法ではないためです。

そのセレクターを開いたくない

ユーザーが別の SMS クライアントをインストールすることを選択した場合、それを使用する権利があります。これは、ユーザーのデバイス、SMS メッセージ料金などであるためです。Intentユーザーが選択した場合、ユーザーはアプリを構造のデフォルトにすることを選択できます。そうすることで、ユーザーには常にセレクターが表示されなくなります。

セレクターを開かずにAndroidネイティブSMSアプリから送信したい

異なるデバイスには異なる「ネイティブ SMS アプリ」がある可能性があり、デバイスの製造元によって異なるため、「ネイティブ SMS アプリ」とは何かを判断する手段がありません。Intentそして、先に述べたように、「ネイティブ SMS アプリ」は、あなたが使用しているその奇妙な構造にさえ応答しない場合があります。

于 2013-01-10T15:20:15.427 に答える
1

SMS マネージャーを使用しますか?

http://developer.android.com/reference/android/telephony/SmsManager.html

void    sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent)

テキストベースの SMS を送信します。

于 2013-01-10T15:19:24.513 に答える