Android基础(八)–ServiceAIDL

AIDL大多情况用于不同应用之间通信. (eg: A应用调用B应用的播放视频功能)

成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的喀左网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

第一步:然后建立AIDL,通过点击建立AIDL文件,如图

Android基础(八) – Service AIDL

第二步:在新建的AIDL文件里 写协议接口

interface IMyAidlInterface {
    void downLoad(String path);
      //....
}

第三步:确认包名无误的情况下 点build -> Make Project

第四步:在提供服务的Service 里 添加
IMyAidlInterface.Stub ms = new IMyAidlInterface.Stub() {
    @Override
    public void downLoad(String path) throws RemoteException {

        Log.e(TAG,"开始下载 -->" + path);

    }
};

同时修改
  @Override
    public IBinder onBind(Intent intent) {
        //可取调用者传递 intent
        return ms;   
    }
第五步:调用者  将aidi文件copy到工程下 ,然后用BindService的方式连接即可,如下:
bindService(binderIntent, new ServiceConnection() {
    @Override
    public void onServiceConnected(ComponentName name, IBinder service) {
        myServiceAIDL = IMyAidlInterface.Stub.asInterface(service);
        try {
            //通过AIDL远程调用
            Log.d(TAG,"++start download++");
            myServiceAIDL.downLoad("abc");
        } catch (RemoteException e) {
            e.printStackTrace();
        }
    }

    @Override
    public void onServiceDisconnected(ComponentName name) {

    }
}, BIND_AUTO_CREATE);

文章名称:Android基础(八)–ServiceAIDL
标题来源:http://bzwzjz.com/article/jpdgjs.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站设计 成都网站制作 重庆网站建设 重庆企业网站建设 品牌网站建设 成都网站建设公司 手机网站建设 移动手机网站制作 品牌网站建设 营销网站建设 网站制作 成都网站建设 手机网站制作 成都商城网站建设 网站建设费用 上市集团网站建设 高端网站建设 成都网站建设公司 定制网站设计 网站建设方案 企业网站建设 重庆企业网站建设