我该如何开始这是在不同的包中定义的服务?这是、我该、包中、定义

2023-09-07 09:09:35 作者:小资小调小情调

我有两个应用程序,持斧在命名空间com.gtosoft.voyager,另一个是com.gtosoft.dash。从com.gtosoft.dash我想启动它在com.gtosoft.voyager定义的服务...

我想我需要一个意图,但什么ARG(S)我会传递给意向与startService踢它起飞前()?

如果他们是在同一个包,我可以只使用

 意图SVC =新的意图(SettingsActivity.this,VoyagerService.class);
startService(SVC);
 

舱单

摘录它定义了服务

 <应用机器人:图标=@可绘制/ voyagercarlogo机器人:标签=@字符串/ APP_NAME机器人:可调试=假>

    <提供机器人:名称=com.gtosoft.voyager.VoyagerCProvider
        机器人:当局=com.gtosoft.voyager/>

    <服务机器人:名称=。VoyagerService/>

    <活动机器人:SettingsActivityNAME =
            机器人:标签=旅行者
            机器人:configChanges =keyboardHidden |定位>

        <意向滤光器>
            <作用机器人:名称=android.intent.action.MAIN/>
            <类机器人:名称=android.intent.category.LAUNCHER/>
        &所述; /意图滤光器>
    < /活性GT;
 
2021外包设计服务数据趋势 心价比 消费,促进创意设计服务爆发增长

解决方案

我会成立一个<意向滤光器> 上的服务,自定义操作,然后用它在你的意图启动或绑定到该服务。你可以看到这双客户一个很好的例子和服务的示例项目。

I have two apps, one runs in namespace com.gtosoft.voyager and the other is com.gtosoft.dash. From com.gtosoft.dash I would like to start up the service which is defined in com.gtosoft.voyager...

I think I need an intent, but what arg(s) would I pass to the intent before kicking it off with startService()?

If they were in the same package I could just use

Intent svc=new Intent (SettingsActivity.this,VoyagerService.class);
startService(svc);

Snippet of Manifest which defines the service

<application android:icon="@drawable/voyagercarlogo" android:label="@string/app_name" android:debuggable="false">

    <provider android:name="com.gtosoft.voyager.VoyagerCProvider" 
        android:authorities="com.gtosoft.voyager"/>

    <service android:name=".VoyagerService"/>

    <activity android:name=".SettingsActivity" 
            android:label="Voyager"
            android:configChanges="keyboardHidden|orientation">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

解决方案

I would set up an <intent-filter> on the service, with a custom action, and then use it in your Intent to start or bind to that service. You can see an example of that in this pair of client and service sample projects.