1

SMS を送信したいのですが、SmsManager クラスを使用していません。AndroidフォンにあるネイティブSMSアプリでやりたいです。

そして、ここにひねりがあります。実行中にネイティブアプリを起動したくありません。ネイティブアプリを介して(ユーザーが「送信」をクリックすることなく)SMSを直接送信できる(SMS本文と送信先の電話番号が与えられた)意図の形式はありますか?

私は同じことをグーグルで検索しましたが、すべての結果と応答は、ユーザーが手動で SMS を送信するのを待って、ネイティブ SMS を起動しただけでした。これが「MightyText」などの一部のアプリに実装されているのを見たので、自分のアプリにも実装したいと考えています。

助けてください !

4

5 に答える 5

5

では、SmsManagerを使用せずにSMSを送信し、さらにネイティブSMSアプリリストに表示する必要がありますか?

まず、 SmsManagerをバイパスしてSMSを送信することはできません。サムスンギャラクシーネクサスのすべてのネイティブメッセージングアプリのソースコードを見ると、ボタンをクリックするとSmsManagerが呼び出されます。

したがって、上記に投稿された以下のコードは正しいです

SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, null, null);

次に、メッセージを送信した後、ネイティブアプリがメッセージをSMSContentProviderに入れます

これに従ってくださいAndroidの受信トレイにSMSを保存する方法は?

注意点は、これへの追加はサポートされていないということです。したがって、送信済みボックスに追加するには、ハックに頼らなければならない場合があります。

于 2012-10-22T04:23:38.670 に答える
0

私が取り組んでいたプロジェクトで同様のことをしました。SmsManagerを使用する必要があります

こんな感じになります-

        SmsManager smsManager = SmsManager.getDefault();

        smsManager.sendTextMessage(phoneNumber, null, message, null, null);

これを使用して、プログラムでSMSを送信できます。

于 2012-10-21T17:31:11.183 に答える
0

これを試して:

String phoneNo = textPhoneNo.getText().toString();
String sms = textSMS.getText().toString();



try {
    SmsManager smsManager = SmsManager.getDefault();
    smsManager.sendTextMessage(phoneNo, null, sms, null, null);
    Toast.makeText(getApplicationContext(), "SMS Sent!",
        Toast.LENGTH_LONG).show();
} catch (Exception e) {
    Toast.makeText(getApplicationContext(),
        "SMS faild, please try again later!",
        Toast.LENGTH_LONG).show();
    e.printStackTrace();
}
于 2014-02-12T07:29:38.963 に答える
0

しかない場合はACTION_SENDTO、もちろん、送信できるアプリケーションがポップアップ表示されます。

SMS 用のフィルターを追加する必要があります

于 2012-10-15T11:22:53.477 に答える