これまでのところ、私は次のコードを使用して、アプリを通じて別の電話に 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" />