0

ボタンを押してから限られた時間だけSMSを受信するためのBroadcastRecieversonRecieveメソッドをアクティブにすることは可能ですか?

常にアクティブにしたり、メッセージングアプリと競合したりしたくありません。

私はクラス「パブリッククラスSmsRecieverextendsBroadcastReceiver」を作成し、マニフェストで受信者を定義しました。

    <receiver android:name="SmsReciever" >
        <intent-filter  >
            <action android:name="android.provider.Telephony.SMS_RECEIVED" />
        </intent-filter>
    </receiver>
4

1 に答える 1

2

BroadcastReceiverを一時的にアクティブにする場合は、マニフェストでレシーバーを定義しないでください。コードにレシーバーを登録する必要があります。

IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("android.provider.Telephony.SMS_RECEIVED"); // I don't know where in the Android SDK this string defined

BroadcastReceiver receiver = new SmsReciever();
registerReceiver(receiver, intentFilter);

それ以上必要ない場合は、レシーバーの登録を解除します。

unregisterReceiver(receiver);
于 2012-05-17T12:47:16.510 に答える