【发布时间】:2017-03-28 16:29:52
【问题描述】:
主要思想
我有两个应用程序。服务位于一个应用程序中,客户端位于另一个应用程序中。
问题是我无法绑定服务,因为它给了我错误:
无法启动服务 Intent { act=com.ccc.serviceaarfinal.WifiAARService pkg=com.ccc.serviceaarfinal } U=0:未找到
服务清单.xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ccc.serviceaarfinal">
<application
...
<service
android:name="com.ccc.serviceaarfinal.WifiAARService"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.ccc.serviceaarfinal.WifiAARService" />
</intent-filter>
</service>
</application>
客户端连接尝试:
private void connectService() {
serviceConnection = new RemoteServiceConnection();
Intent i = new Intent("com.ccc.serviceaarfinal.WifiAARService");
i.setPackage("com.ccc.serviceaarfinal");
bindService(i, serviceConnection, Context.BIND_AUTO_CREATE);
}
到目前为止我尝试了什么
注意事项:
我运行adb logcat 看看是否还有其他可以帮助我的东西
我尝试在另一台计算机上运行该项目,但仍然无法运行
- 我没有重命名包
我没有重命名任何东西
我也试过android:name=".WifiAARService"而不是android:name="com.ccc.serviceaarfinal.WifiAARService"
另一个注释。我已经实现了服务连接:
private RemoteServiceConnection serviceConnection;
private IWifiAARService service;
class RemoteServiceConnection implements ServiceConnection {
public void onServiceConnected(ComponentName name, IBinder boundService) {
service = IWifiAARService.Stub.asInterface((IBinder) boundService);
Toast.makeText(MainActivity.this, "Service connected", Toast.LENGTH_LONG)
.show();
}
public void onServiceDisconnected(ComponentName name) {
service = null;
Toast.makeText(MainActivity.this, "Service disconnected", Toast.LENGTH_LONG)
.show();
}
}
我尝试按照这个示例 https://www.sitepoint.com/aidl-for-sharing-functionality-between-android-apps/ 进行操作,只要我在没有任何大写字母的情况下命名模块(很奇怪,我知道),就可以为我工作。
【问题讨论】:
标签: android