Сбой приложения Android с разрешениями при привязке к сервису
Я пытаюсь расширить класс связывателя для вызова метода в моем сервисе, но не могу получить намерения, соответствующие фильтрам намерений. Есть два сценария.
Если я настрою свое намерение, как показано ниже, bindService вернет true, startService вернет информацию о компоненте, и служба запустится, но приложение немедленно завершится сбоем:
private LocationUpdateService mService; Activity activity = this.cordova.getActivity(); updateServiceIntent = new Intent(activity, LocationUpdateService.class); Boolean successful = activity.bindService(updateServiceIntent, mConnection, Context.BIND_AUTO_CREATE); ComponentName serviceStarted = activity.startService(updateServiceIntent);
Если я настрою свое намерение, как показано ниже, bindService возвращает false, служба не запускается и приложение не падает.
private LocationUpdateService mService; Activity activity = this.cordova.getActivity(); updateServiceIntent = new Intent("com.tentforwardconsulting.cordova.bgloc.LocationUpdateService"); Boolean successful = activity.bindService(updateServiceIntent, mConnection, Context.BIND_AUTO_CREATE); ComponentName serviceStarted = activity.startService(updateServiceIntent);
В любом случае, logcat отображает следующую ошибку:
ContextImpl( 704): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1510 com.android.server.StatusBarManagerService.sendNotification:981 com.android.server.StatusBarManagerService.removeNotification:706 com.android.server.NotificationManagerService.cancelNotificationLocked:2455 com.android.server.NotificationManagerService.access$5100:160
Мой androidManifest.xml имеет следующие настройки фильтра намерений. Я попытался поймать обе мои намеренные установки:
<activity android:name="com.tentforwardconsulting.cordova.bgloc.BackgroundGpsPlugin">
<intent-filter>
<action android:name="com.tentforwardconsulting.cordova.bgloc.LocationUpdateService" />
<action android:name="LocationUpdateService" />
</intent-filter>
</activity>
<service android:enabled="true" android:name="com.tenforwardconsulting.cordova.bgloc.LocationUpdateService" android:process=":remote" />
Пожалуйста, дайте мне знать, какие у вас есть идеи по устранению неполадок. Я играл с комбинациями намерений и фильтров намерений некоторое время. Я действительно ценю любую помощь!