1

私は質問をしたいです。
バックグラウンドサービスを開始および停止するボタンを作成しました。着信SMSを読み取る
クラスを作成します。 だから私はサービスが開始されたときにを呼び出したいです。 バックグラウンドサービスでSMSを読み取る方法に関するアイデアやその他のアイデアはありますか?SmsReceiver
Sms BroadcastReceiver

4

1 に答える 1

0

すでに正常にSmsReceiver動作している場合は、から登録するだけです。これを行うには、 'sServiceをオーバーライドする必要があります。ServiceonCreate()

サービスは次のようになります。

public class SmsService extends Service
{
  private SmsReceiver receiver; //global so we can unregister it when the time comes.
  public void onCreate ()
  {
    super.onCreate ();//call to super
    //make a new intent filter so that all incoming SMS get to you as well
    IntentFilter smsFilter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");
    receiver = new SmsReceiver(); //make a new SmsReceiver
    registerReceiver(receiver, smsFilter); //register the Receiver
  }

  public void onDestroy ()
  {
    unregisterReceiver (receiver); //unregisters the Receiver if Service is killed
    super.onDestroy();
  }
}

マニフェストには、必ず必要なSMS権限を含め、マニフェストでも宣言することを忘れないでServiceください。

<service android:name=".SmsService" >
</service>
于 2012-12-24T23:20:03.020 に答える