, 단순히 서비스의 방송 수신기를 추가
private final BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(action.equals("android.provider.Telephony.SMS_RECEIVED")){
//action for sms received
}
else if(action.equals(android.telephony.TelephonyManager.ACTION_PHONE_STATE_CHANGED)){
//action for phone state changed
}
}
};
을에 서비스의 onCreate
이 작업을 수행 :
IntentFilter filter = new IntentFilter();
filter.addAction("android.provider.Telephony.SMS_RECEIVED");
filter.addAction(android.telephony.TelephonyManager.ACTION_PHONE_STATE_CHANGED);
filter.addAction("your_action_strings"); //further more
filter.addAction("your_action_strings"); //further more
registerReceiver(receiver, filter);
과에서를 서비스의 onDestroy
:
unregisterReceiver(receiver);
당신은 방송을 수신하기 위해 어떤 전자 메일을 보내고 좋은가요? 당신이 onStartCommand에 언급 한 ver 필터. 필요한 경우 모든 권한을 추가하십시오. 예를 들어
<uses-permission android:name="android.permission.RECEIVE_SMS" />
내가 토스트 메시지 수신 전화 동안 표시 할. 나는이 필터를 추가했다. addAction ("android.provider.Telephony.LISTEN_CALL_STATE"); 토스트 쇼를하는 방법. – Prasad
sendBroadcas (intent)를 보내면서 intent.setData (myUri)에 의해 데이터를 전달할 수 없다는 사실을 눈치 채 셨습니다. 그런 경우에는 braoadcastReceiver가 작동하지 않습니다. 그렇습니까? – deadfish
BroadcastReceiver (내 경우 BroadcastReceiver 다운로드)가있을 때 서비스 수명주기에 대해 약간 혼동 스럽습니다 –