У меня есть служба, работающая на переднем плане, внутри этой службы у меня есть широковещательный приемник, который прослушивает действие SMS_RECEIVED.Android-SMS_RECEIVED + широковещательная передача при сбое службы переднего плана
Когда пользователь находится внутри приложения (как приложение, так и служба находятся на переднем плане), все работает хорошо, и я получаю намерение.
Но когда пользователь существует приложение (только служба с широковещательной рассылкой находится на переднем плане), служба останавливается при получении sms.
Когда служба остановлена, отчеты об ошибках не найдены нигде (не в лог-кадре, и не появляется диалоговое окно с аварийной остановкой).
Моя служба с трансляцией:
public class myService extends IntentService {
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(myService.this, intent.getAction(), Toast.LENGTH_SHORT).show();
}
};
@Override
public void onCreate() {
super.onCreate();
IntentFilter i= new IntentFilter("android.provider.Telephony.SMS_RECEIVED");
i.setPriority(999);
registerReceiver(mReceiver, receiverFilter);
startForeground(...);
}
public void onDestroy() {
super.onDestroy();
stopForeground(true);
}
}
И я также следующее разрешение в моем манифесте:
<uses-permission android:name="android.permission.RECEIVE_SMS" />
MYSERVICE объявлен как это в манифесте:
<service
android:name=".Services.myService"
android:enabled="true"
android:exported="false" />
Вы можете проверить logcat с ошибкой? –
Эй, @MasterDisaster, там logcat не показывают ошибок. – user12597562891
'крушение службы переднего плана', так что авария или авария. Если вы столкнулись с ошибкой, вы должны иметь ошибку в logcat. –