2017-03-24 18 views
0

着信SMSを読み取る必要があります。私はこれにBroadcastReceiverを使用しています。それはうまくいきますが、アプリケーションが閉じられるとBroadcastReceiverも閉じます。 ここに私が使っているコードがあります。 マニフェストAndroidでアプリケーションを終了した後にSMSを受信する

<uses-permission android:name="android.permission.SEND_SMS"/> 
<uses-permission android:name="android.permission.RECEIVE_SMS"/> 
<uses-permission android:name="android.permission.READ_SMS"/> 

<!--other code --> 
<receiver android:name=".IncomingSms"> 
     <intent-filter> 
      <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
     </intent-filter> 
    </receiver> 

IncomingSms

public class IncomingSms extends BroadcastReceiver { 

// Get the object of SmsManager 
final SmsManager sms = SmsManager.getDefault(); 

@Override 
public void onReceive(Context context, Intent intent) { 
    // Retrieves a map of extended data from the intent. 
    final Bundle bundle = intent.getExtras(); 

    try { 

     if (bundle != null) { 

      final Object[] pdusObj = (Object[]) bundle.get("pdus"); 

      for (int i = 0; i < pdusObj.length; i++) { 

       SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]); 
       String phoneNumber = currentMessage.getDisplayOriginatingAddress(); 

       String senderNum = phoneNumber; 
       String message = currentMessage.getDisplayMessageBody(); 

       Log.i("SmsReceiver", "senderNum: "+ senderNum + "; message: " + message); 


       // Show Alert 
       int duration = Toast.LENGTH_LONG; 
       Toast toast = Toast.makeText(context, 
         "senderNum: "+ senderNum + ", message: " + message, duration); 
       toast.show(); 

      } // end for loop 
     } // bundle is null 

    } catch (Exception e) { 
     Log.e("SmsReceiver", "Exception smsReceiver" +e); 

    } 
} 
} 

コードが正常に動作しますが、それもアプリが閉じられている実行したいです。それが来るたびにSMSを読んでみたい。このブロードキャストランライフタイムは、Appのアンインストールまで決して閉じないことを意味します。私はこれに対してサービスが必要だと思いますが、どうすればいいのですか、私はアンドロイドで新しいです。

答えて

0

IntentServiceと書く必要があります。ブロードキャストレシーバは長時間実行できないため、ブロードキャストレシーバでこのサービスを開始できます。

+0

少しコードを書いてください。どうすればいいですか、尋ねると申し訳ありませんが、私は新しいです。ありがとう –

関連する問題