我正在尝试扩展活页夹类以调用我的服务中的方法,但无法获得与意图过滤器匹配的意图。有两种情况。
如果我按如下方式设置我的意图,bindService 返回 true,startService 返回 Component Info 并且服务启动但应用程序立即崩溃:
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" />
请让我知道您可能有的任何故障排除想法。一段时间以来,我一直在使用意图和意图过滤器的组合。我真的很感激任何帮助!