メッセージアプリを開かずにプログラムでSMSを送信する 質問する

メッセージアプリを開かずにプログラムでSMSを送信する 質問する

これまでのところ、私は次のコードを使用して、アプリを通じて別の電話に SMS を送信しています。

Intent intent = new Intent( Intent.ACTION_VIEW, Uri.parse( "sms:" + srcNumber)); 
                    intent.putExtra( "sms_body", message ); 
                    startActivity(intent);

しかし、これによりネイティブメッセージングアプリが開き、アプリのアクティビティがバックグラウンドに置かれます。SMSを送信することは可能ですか?直接ネイティブ メッセージング アプリを開かずにできますか? できる場合、その方法は?

ベストアンサー1

以下の方法でアプリケーションからメッセージを送信できます。

public void sendSMS(String phoneNo, String msg) {
    try {      
        SmsManager smsManager = SmsManager.getDefault();
        smsManager.sendTextMessage(phoneNo, null, msg, null, null);    
        Toast.makeText(getApplicationContext(), "Message Sent",
                Toast.LENGTH_LONG).show();
    } catch (Exception ex) {
        Toast.makeText(getApplicationContext(),ex.getMessage().toString(),
                Toast.LENGTH_LONG).show();
        ex.printStackTrace();
    } 
}

また、メッセージを送信するにSEND_SMSは許可を与える必要がありますAndroidManifest.xml

<uses-permission android:name="android.permission.SEND_SMS" />

おすすめ記事