`
zhy20045923
  • 浏览: 155836 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

android aidl进程间通信

阅读更多
1.在应用1中定义自己的aidl文件。
package com.test.eric.AIDL;   
interface testAIDL {   
    void fun();   
    }  


2.在应用1中写service,实现aidl接口,复写onbind方法。
public class MyService extends Service {    
    @Override  
    public IBinder onBind(Intent t) {   
        return mBinder;   
    }   
    private final testAIDL.Stub mBinder = new testAIDL.Stub() {   
        @Override  
        public void fun() throws RemoteException   
        {   
            Log.d(TAG,  "------");               
        }            
    };   
}  

3.在应用2中将应用1的aidl接口文件拷过去,注意包名要一致。
package com.test.eric.AIDL;   
interface testAIDL {   
    void fun();   
    }  

4.在应用2中定义实现serviceConnection接口,绑定应用1的service。通过Ibinder对象访问应用1中的aidl实现方法。
  public class myActivity extends Activity {   
     private Button btnOk;           
    testAIDL mService;   
    private ServiceConnection mConnection = new ServiceConnection() {   
        public void onServiceConnected(ComponentName className,   
                IBinder service) {   
            mService = testAIDL.Stub.asInterface(service);   
                        }   
        public void onServiceDisconnected(ComponentName className) {   
            }   
        };   
    @Override  
    public void onCreate(Bundle icicle) {   
        super.onCreate(icicle);   
        setContentView(R.layout.main);   
        btnOk = (Button)findViewById(R.id.btn_ok);  
               Intent intent = new Intent(myActivity.this, MyService.class);   
                intent.putExtras(args);   
                bindService(intent, mConnection, Context.BIND_AUTO_CREATE);   
 
        btnOk.setOnClickListener(new OnClickListener() {   
            public void onClick(View v) {   
mService.fun();
                }   
            });   
               }   
} 


注意点:
两个应用的aidl的包名要相同
分享到:
评论

相关推荐

    Android AIDL进程间通信

    综上所述,AIDL是Android平台中实现进程间通信的重要手段,通过合理的使用,可以构建出高效、稳定、可扩展的应用程序。通过阅读和理解给定的`MyTestAIDL`代码资源,开发者可以更好地掌握AIDL的工作方式,为今后的...

    Android AIDL 进程间通信

    Android进程间通信 AIDL Service 一、服务端结构 服务端需要处理的有: 1.处理对象,对象内方法,注意:AIDL 只能对函数起作用; 2.处理服务; 3.配置文件; 二、客户端 配置 1.对象,切记,与服务端的对象完全一致...

    Android AIDL进程间通信例子代码

    在Android系统中,进程间通信(Inter-Process Communication, 简称IPC)是一种关键的技术,使得不同进程...通过理解并实践`AndroidAIDLClient`和`AndroidAIDL`这两个示例,你可以更深入地掌握Android的进程间通信技术。

    android aidl 不同进程间通信

    在Android系统中,进程间通信...总之,Android Aidl是实现不同进程间通信的重要手段,通过定义接口和服务,可以方便地实现跨进程调用,提升应用的功能性和交互性。理解和掌握Aidl对于开发复杂的Android应用至关重要。

    Android Aidl进程间通信,实现3个app共享一个服务

    在Android系统中,进程间通信(IPC,Inter-Process Communication)是实现不同应用程序之间数据交换的关键技术。AIDL(Android Interface Definition Language)是Android提供的一个工具,用于在不同进程间定义和...

    AIDL进程间通信demo

    AIDL(Android Interface Definition Language)是Android提供的一种用于实现进程间通信的工具,它允许开发者定义接口,使得服务能够被其他应用调用,即便这些应用运行在不同的进程中。** ### AIDL简介 AIDL是一种...

    android aidl跨进程通信

    标题“android aidl跨进程通信”指的是通过AIDL在Android上进行不同进程间的数据交换和功能调用的过程。在Android中,每个应用默认运行在自己的进程中,当需要不同应用间共享数据或调用对方的功能时,就需要借助IPC...

    Android使用AIDL实现进程间通信

    本篇文章将深入探讨如何在Android中使用AIDL来实现进程间通信。 首先,理解AIDL的基本概念。AIDL是一种接口定义语言,类似于Java中的接口,但它的目的是跨越进程边界。通过AIDL,我们可以定义一个接口,该接口会被...

    Android aidl 进程通信

    ### Android AIDL 进程间通信详解 #### 一、AIDL 概述 AIDL(Android Interface Definition Language)是Android平台提供的一种用于进程间通信(Inter-Process Communication, IPC)的技术,它允许应用程序组件之间...

    使用 AIDL实现进程间通信

    AIDL(Android Interface Definition Language)是Android提供的一种工具,用于方便开发者实现进程间通信。这篇博客“使用AIDL实现进程间通信”将深入探讨如何利用AIDL进行跨进程的交互。 首先,我们要理解AIDL的...

    Android aidl 实现进程间通信

    在Android系统中,进程间通信(IPC,Inter-Process Communication)是实现不同应用程序组件之间交互的关键技术。Android的AIDL(Android Interface Definition Language)就是专为处理IPC而设计的一种接口定义语言,...

    AIDL进程间通信

    **AIDL(Android Interface ...总结,AIDL是Android中实现进程间通信的重要工具,它简化了跨进程服务调用的复杂性,提高了应用的交互能力。通过学习和掌握AIDL,开发者可以构建更健壮、功能更丰富的Android应用程序。

    Android安卓AIDL进程间通信Service简单例子

    总结来说,AIDL是Android系统中用于进程间通信的重要工具,通过它我们可以定义接口并在不同的进程中调用。服务端通过实现AIDL接口并返回`Binder`实例,客户端则通过绑定服务来获取接口并调用方法。理解并熟练掌握...

    AIDL进程间通信(含回调)

    使用AIDL实现进程间通信 两个工程即两个APP,实现数据共享 APP1中有个service 不停的对某一个数进行++操作, APP2通过AIDL 获取APP1的Service中的这个值(通过回调) 当然要使用AIDLAPP1中也要做相应处理

    AndroidStudio AIDL进程间通信及Binder连接池的实现

    本教程将深入探讨如何使用AIDL和Binder连接池在两个Android应用之间实现进程间通信。 **AIDL基础** AIDL是一种声明式的语言,用于定义服务接口,使得客户端和服务器端可以在不同的进程中调用对方的方法。在Android...

    Android AIDL跨进程通信

    在这个"Android AIDL跨进程通信"的示例中,我们有两个项目,一个是服务器端(Serve),另一个是客户端(Client),它们共同演示了如何通过AIDL实现实现进程间的数据交换。 首先,让我们详细了解AIDL的工作原理。...

Global site tag (gtag.js) - Google Analytics