SMS ループバックを実現したいと考えています。つまり、同じアプリケーションから SMS を送受信したいと考えています。そのために、 を拡張するクラスを作成しBroadcastReciever
、メソッドを実装onReceive()
して、関連する権限を宣言しました。
telnet を使用して SMS を送信し、実装を検証しました。telnet プロセスを自動化したいと考えています。つまり、SMS を送信してアプリケーション自体をテストします。そのために、メイン アクティビティで次のメソッドを呼び出しますが、BroadcastReceiver
呼び出されることはありません。
private final void sendSMS() {
final TelephonyManager telMgr = (TelephonyManager)
getSystemService(Context.TELEPHONY_SERVICE);
final int len = telMgr.getLine1Number().length();
final String phoneNum = telMgr.getLine1Number().substring(len - 4, len);
final String msg = "msg";
SmsManager.getDefault().sendTextMessage(phoneNum, null, msg, null, null);
}
何が悪いのか手がかりはありますか...?
更新:上記のコードはエミュレーター向けであることに注意してください。