Android 不同应用程序 bind service

实在是不大好意思 我前面的一个文章转了一个关于bind service的文章 最后来了一句如果service和apl是不同的程序怎么办 让我们来看一下不同的程序之间如何访问service的问题



比如我们在一个应用程序A中新建了一个service并实现了他的bind方法 同时在这个程序中其他的程序已经可以bind到那个service了 那么如果我想在别的应用程序中访问那个 service应该怎么办

这个时候我们要借助了java本身的特性来实现了
其实我们在别的程序中如果要启动这个service也可以 就用componentname来启动就可以了 但是如果想bind上去再调用接口就必须打成jar包

因为在公司现在没办法截图 等晚上到家我在最后补充图片说明

其实就是打包android程序成jar的标准方法 具体操作就是

工程上右键 选择export 然后取消选择这个工程里的所有的文件 点开到gen文件夹下选择aidl生成的2个新的service java文件 然后再去aidl所在的文件夹选择哪个aidl 打包 之后在别的工程里面导入刚生成的那个jar包 

剩下来的事情其实就和service在一个包里的操作一个样子了。
 
 
 
这张是应用程序的工程截图
 
Android 不同应用程序 bind service_第1张图片
 
 
这张是service的工程截图
Android 不同应用程序 bind service_第2张图片
 
 
service上选择export 选择jar 
Android 不同应用程序 bind service_第3张图片
 
 
把gen里生成的service java文件选中 其他都不选  然后导出成jar
Android 不同应用程序 bind service_第4张图片
 
 
在应用程序上buildpath里引入那个导出的service的jar文件
 
Android 不同应用程序 bind service_第5张图片
 
 
 
下面的用法就和在一个包里一样用  不过bindservice那里的intent最好用action 否则就要用componentname来构造 否则包名和class名组合起来可能不是service需要的intent 
Android 不同应用程序 bind service_第6张图片
文章来源于: http://xxw8393.blog.163.com/blog/static/3725683420104194253254/

你可能感兴趣的:(Android 不同应用程序 bind service)