我如何启动(和绑定)在另一个应用程序(不同的包)实现的Android中的远程服务?

我有点卡住在Android的远程服务。 事情是我实施远程服务包“abc”,我希望其他应用程序能够访问此服务。 我摆脱了整个蹩脚的援助的东西,并devise了服务的“界面”通过广播意图工作。 到目前为止工作良好…

问题是:我如何获得different应用程序(不同的包,不同的项目,甚至可能是一个不同的开发者…)来启动/停止服务?

 package def; import abc*; public class main extends Activity { protected ImyService myService; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Intent intent = new Intent(ImyService.class.getName()); bindService(intent, sConnection, Context.BIND_AUTO_CREATE); } protected ServiceConnection sConnection = new ServiceConnection() { public void onServiceConnected(ComponentName className, IBinder binder) { wlService = ImyService.Stub.asInterface(binder); ServiceConnected = true; Toast.makeText(main.this, "service connected", Toast.LENGTH_SHORT).show(); } public void onServiceDisconnected(ComponentName className) { wlService = null; ServiceConnected = false; Toast.makeText(main.this, "service disconnected", Toast.LENGTH_SHORT).show(); } }; } 

这会在启动时立即崩溃我的应用程序。 我做错了什么? 我将如何得到这个工作?

一旦运行,命令和数据将通过广播传递。 所以这应该不是真正的问题…

步骤#1:用<action>string为你的<service>设置一个<intent-filter>

步骤#2:使用bindService()使用的Intent动作string(例如, new Intent("this.is.my.custom.ACTION")