0

我正在尝试扩展活页夹类以调用我的服务中的方法,但无法获得与意图过滤器匹配的意图。有两种情况。

  1. 如果我按如下方式设置我的意图,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);
    
  2. 如果我按如下方式设置我的意图,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" />

请让我知道您可能有的任何故障排除想法。一段时间以来,我一直在使用意图和意图过滤器的组合。我真的很感激任何帮助!

4

0 回答 0