Я пытаюсь зарегистрировать и отменить регистрацию приемника состояния телефона на телефоне в службе, но он не стреляет вообще, я также объявил разрешение на доступ к телефону в манифесте.BraodCastReceiver не стреляет для прослушивателя состояния телефона android
Это мой приемник вещания.
public class IncomingCalls extends BroadcastReceiver {
private static String mLastState;
@Override
public void onReceive(Context context, Intent intent) {
Log.i(ApplicationUtils.TAG, "IncomingCalls");
String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
if (!state.equals(mLastState)) {
mLastState = state;
Log.i(ApplicationUtils.TAG, state);
if (mLastState==TelephonyManager.EXTRA_STATE_RINGING) {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNumber, null, CallListenService.MESSAGE, null, null);
}
}
}
}
и вот сервис, который регистрирует и отменяет регистрацию трансляции.
public class CallListenService extends Service {
private static final String ACTION = "android.intent.action.PHONE_STATE";
static IncomingCalls myReceiver;
public static String MESSAGE;
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
final IntentFilter theFilter = new IntentFilter();
theFilter.addAction(ACTION);
myReceiver = new IncomingCalls();
// Registers the receiver so that your service will listen for
// broadcasts
this.registerReceiver(myReceiver, theFilter);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
MESSAGE = intent.getStringExtra(KEY_MESSAGE);
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onDestroy() {
super.onDestroy();
// Do not forget to unregister the receiver!!!
this.unregisterReceiver(myReceiver);
}
}
То есть, как я запустить службу
Intent intent1 = new Intent(context, CallListenService.class);
intent1.putExtra(KEY_MESSAGE, msg);
context.startService(intent1);
Он работал и раньше, но это не работает вообще в настоящее время.
где вы называете 'startService()'? – nandsito
в другом широковещательном приемнике. –