致电后:
result=bindService(new Intent(IUdpListenerService.class.getName()),
serviceConnection, Context.BIND_AUTO_CREATE);
byt debugger:result return'true'
未调用onServiceConnected。
*提到远程服务安装在diffrent apk中,并且由命令startService(..)启动
Okie ..这是我刚刚发现的新事物:onServiceConnected正在被触发,但它需要时间,所以这里发生的事情......当我使用我的界面实例时 - 它仍然是remine null,在onServiceConnected管理之前被触发..这可能吗? -
答案 0 :(得分:3)
服务需要有一个<intent-filter>
来执行操作:
<service android:name=".BshService">
<intent-filter>
<action android:name="com.commonsware.android.advservice.IScript" />
</intent-filter>
</service>
然后,您可以使用Intent
的操作表单绑定到它:
new Intent("com.commonsware.android.advservice.IScript")
或者,如果您的客户在IScript
包中碰巧有一个名为com.commonsware.android.advservice
的类或接口:
new Intent(IScript.getName());
答案 1 :(得分:1)
您使用的Intent
构造函数需要Action
,而不是类名。要启动某项服务,请改用new Intent(<package context, e.g. this>, IUdpListenerService.class)
。
更新:要在另一个包中启动服务或活动,请使用setComponent:
new Intent().setComponent(new ComponentName("com.remote", "com.remote.IUdpListenerService"));
(详见this问题)