メイン アクティビティでは、いくつかの入力フィールドと送信ボタンを含むレイアウトが読み込まれます。送信ボタンがクリックされると、onClick ハンドラー メソッドが同じ携帯電話番号に SMS を送信します。
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(number, null, "hi", null, null);
メッセージをインターセプトするブロードキャスト レシーバが定義されています。
public class SmsReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle pdusBundle = intent.getExtras();
Object[] pdus=(Object[])pdusBundle.get("pdus");
SmsMessage messages=SmsMessage.createFromPdu((byte[]) pdus[0]);
if(messages.getMessageBody().contains("hi")){
abortBroadcast();
}
}
}
ここで、ブロードキャスト レシーバーから、メイン アクティビティ内にある関数 (パラメーター付き) を呼び出したいと思います。それは可能ですか?はいの場合、放送受信機にどのようなコードを追加すればよいですか?