- 浏览: 43856 次
- 性别:
- 来自: 北京
文章分类
最新评论
@Override protected void onDestroy() { if (mIsBound) { // If we have received the service, and hence registered with // it, then now is the time to unregister. if (mService != null) { try { mService.unregisterCallback(mPTTServiceListener.callback); } catch (RemoteException e) { // There is nothing special we need to do if the service // has crashed. } } Log.d(TAG, "onDestroy()"); // Detach our existing connection. unbindService(mConnection); mIsBound = false; } super.onDestroy(); } // maintain connection with PTTService private IPTTService mService = null; private ServiceConnection mConnection = new ServiceConnection() { public void onServiceConnected(ComponentName className, IBinder service) { Log.d(TAG, "onServiceConnected"); mService = IPTTService.Stub.asInterface(service); try{ mService.registerCallback(mPTTServiceListener.callback); }catch(RemoteException e){ e.printStackTrace(); } mIsBound = true; try { if(mService.getServiceState() != SERVICE_STATE_NoneService){ mTestButton.setEnabled(true); Log.d(TAG, "ServiceState = " + mService.getServiceState()); } } catch (RemoteException e) { // TODO: handle exception } //Toast.makeText(MainActivity.this, "connected",Toast.LENGTH_SHORT).show(); } public void onServiceDisconnected(ComponentName className) { Log.d(TAG, "onServiceDisconnected"); mService = null; mTestButton.setEnabled(false); } }; // listener for PTT service PTTServiceListener mPTTServiceListener = new PTTServiceListener(){ @Override void onPTTServiceNotification(Bundle data) { }; @Override void onPTTServiceError(String strMsg) { Toast.makeText(MainActivity.this, strMsg, Toast.LENGTH_SHORT).show(); }; }; }
发表评论
-
模仿QQ好友列表的ExpandableListView实现的效果
2012-06-27 16:53 1477先是在网上找到了一个人的例子,见:http://www.cnb ... -
Phone端加心跳可能会影响写数据操作时间
2012-05-30 18:18 01.调研并确认Phone端加心跳是不是刚性需求; 2. ... -
NPG如何编译
2012-05-29 15:34 0本文介绍了如何通过源码生成NPG包的方法,请参考 1. ... -
PCTool日报
2012-05-21 18:36 0Hi,Dear All: 景山发布的新的PCTo ... -
MeSamrtImageViewActivity
2012-05-18 17:19 0url = "http://10.0.2.2: ... -
public boolean createReflectedImages() 2
2012-05-18 09:39 0LinearGradient shader = new ... -
public boolean createReflectedImages() 1
2012-05-18 09:39 0final int reflectionGap = 4; ... -
main.xml
2012-05-17 18:34 0<?xml version="1.0&q ... -
product_big_pic_gallery.xml
2012-05-17 18:33 0<?xml version="1.0&q ... -
product_big_pic_item.xml
2012-05-17 18:33 0<?xml version="1.0&q ... -
ProductPicShowActivity 2
2012-05-17 18:32 0public class ProductPicAdapt ... -
ProductPicShowActivity 1
2012-05-17 18:32 0public class ProductPicShowA ... -
PicGallery
2012-05-17 18:31 0化解中有 -
MyGallery3
2012-05-17 18:31 0private void transformImageB ... -
MyGallery 2
2012-05-17 18:30 0@Override protected ... -
MyGallery 1
2012-05-17 18:30 0public class MyGallery exten ... -
MainActivit
2012-05-17 18:28 0package com.lzx; import ... -
xzcvxc
2012-05-03 17:42 0xcxd -
beifen
2012-05-03 09:43 0beifen -
Hi Zhixian
2012-03-28 13:25 750登陆方式为: username:TD_ ...
相关推荐
当连接建立后,可以获取到服务提供的Binder对象,通过这个Binder对象调用AIDL接口定义的方法。 5. **处理回调**: 客户端需要实现接口中的回调方法,以便接收服务端的响应。 ### 三、注意事项 1. **数据类型限制**...
附件包含客户端demo和服务端demo共两个app,使用不超过100行代码,向你展示极简、傻瓜级AIDL使用教程,让你彻底玩转AIDL使用方法。 附件包含客户端demo和服务端demo,演示客户端app如何调用服务端app的接口方法。
客户端通过调用AIDL接口,间接地触发JNI中的操作。 总结一下,本示例提供的`testndk`项目是一个结合使用AIDL和JNI的实践案例,展示了如何在Android应用中进行跨进程通信并利用C/C++代码提升性能。通过阅读源码和...
Android工作实践总结:Aidl 远程调用(aidl实例总结) AIDL的IPC的机制和COM或CORBA类似, 是基于接口的,但它是...它使用代理类在客户端和实现层间传递值. 如果要使用AIDL, 需要完成2件事情: 1.... 2. 调用aidl产生的class.
2. **编译AIDL**:Android Studio会自动编译`.aidl`文件,生成对应的Java接口。这个接口将作为客户端和服务端通信的桥梁。 3. **实现服务端**:在WPS应用中,你需要实现`IMOfficeService`接口,并注册到Android系统...
在上面的例子中,我们定义了一个服务端的 AIDL 文件,名为 ITestService.aidl,包含三个方法:test1、test2 和 test3。然后,在客户端,我们使用了同一个 AIDL 文件来调用服务端的接口。然而,如果服务端修改了 AIDL...
代码简洁,重点突出多进程或多app调用AIDL服务完成通信,内容如下: 1.AIDL服务端 支持多客户端调用AIDL服务端,并广播发送数据给客户端 2.AIDL客户端 示例中的2个客户端都同时绑定AIDL客户端 发送数据,并显示AIDL...
客户端通过绑定服务来调用AIDL接口。首先,需要在客户端代码中生成AIDL接口的代理类,然后在`onServiceConnected`回调中获取到服务的Binder对象,通过这个对象调用服务端的方法。 ```java private ...
2. **编译AIDL** Android Studio会自动生成对应的Java代码,位于`gen`目录下(如果你使用的是较旧的构建系统),或`build/generated/source/aidl`目录下(如果使用的是现代的Gradle构建系统)。生成的代码包含了...
在Android系统中,应用程序通常运行在各自的进程中,为了实现不同应用程序之间的通信,Android提供了一种强大的机制——Android Interface Definition Language(简称AIDL),用于支持跨进程调用。AIDL允许开发者...
在"android简单AIDL调用Demo"中,我们将深入探讨如何使用AIDL创建和调用跨进程服务。 首先,让我们了解AIDL的基本结构。AIDL文件是一个简单的文本文件,后缀为.aidl,它定义了接口以及接口中的方法。例如,如果你有...
当一个应用(如A.apk)通过AIDL定义接口后,Android系统会自动生成相应的Java绑定类,使得其他应用(如B.apk)能够调用这些接口。 **1. 创建AIDL文件** 在A.apk的源码目录下创建一个.aidl文件,例如`IAidlInterface...
这篇博文“android AIDL 多个客户端调用一个服务器代码”将深入探讨如何利用AIDL来实现这个功能。 首先,理解AIDL的基本概念是至关重要的。AIDL允许开发者定义一个接口,这个接口可以被不同的应用进程所共享,就像...
当我们需要在不同的应用程序组件之间,尤其是跨进程调用服务时,AIDL就显得尤为重要。本篇文章将深入探讨如何使用AIDL调用远程服务,以及在实际应用中的操作步骤。 首先,我们需要理解AIDL的基本概念。AIDL是一种...
2. **编译AIDL** - 当你构建项目时,Android Studio会自动将.AIDL文件转换为对应的Java代码。在服务端,生成的是服务接口的实现类;在客户端,生成的是 Binder 对象的代理类。 3. **服务端实现** - 在服务端,你...
在Android开发中,AIDL(Android Interface Definition Language)是一种用于跨进程通信(IPC,Inter-Process Communication)的机制,使得一个应用可以调用另一个应用中的服务。本篇将深入探讨如何通过AIDL来调用...
通常,AIDL用于实现单向通信,即客户端调用服务端的方法,但AIDL同样可以扩展以支持双向通信,即服务端也能调用客户端的方法,这就构成了所谓的“双向绑定”。 双向绑定在许多场景下都非常有用,比如实时同步、心跳...
服务端启动服务并绑定到特定的Binder,客户端通过`startService()`或`bindService()`来连接服务,然后调用AIDL定义的方法。 ### 7. 异常处理 由于IPC调用可能因为各种原因失败,如服务未运行、权限问题等,因此在...
2. **编译AIDL** Android Studio会自动生成对应的Java接口。编译后,系统会在`gen`或`build`目录下生成`IAidlInterface.java`,包含了服务端和服务端需要实现的接口以及客户端使用的代理类。 3. **实现Service** ...
AIDL是Android中IPC(Inter-Process Communication)方式中的一种,AIDL是Android Interface definition language的缩写,对于小白来说,AIDL的作用是让你可以在自己的APP里绑定一个其他APP的service,这样你的APP...