日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2020-11-11(aidl)

發布時間:2025/3/21 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2020-11-11(aidl) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

讓其它應用可以調用當前應用service的方法
RPC remote procedure call 遠程過程調用 AIDL 解決就是rpc的問題
IPC inter process communication 進程間通信
每一個android應用都運行在獨立的進程見通信
Activity intent
BroadcastReceiver 通過onReceive方法,可以處理其它應用發來的廣播

aidl實現過程
提供遠程服務方法的應用
a.創建一個Service重寫onBuild方法,在onBinder中返回一個Binder對象,需要遠程調用的方法都放到這個Binder對象中
pulic class RemoteService extends Services
{ public IBinder onBind (Intent intent)
{ return myBinder();
}
public class MyBinder extends Binder{
public void callRemoteMethod(){
remoteMethod();
}
}
public void remoteMethod(){
System.out.println(“remoteMethod is called”);
}
}

b.在清單文件中聲明對飲搞得service,需要添加一個inter-filter可以通過隱式意圖來調用service

c.創建一個接口,需要暴露給其它應用調用的方法都聲明在這個接口中

d.把接口文件的擴展名改為.aidl,需要注意aidl文件不支持public關鍵字

如果aidl創建得沒有問題,就會在gen目錄下生成一個Service.java

e.修改service的代碼,讓MyBinder繼承Stub

遠程調用服務的應用

a.通過隱式意圖以及bindService方式,開啟遠程服務

b.創建ServiceConnection的實現類

c.在當前應用中,創建一個目錄跟提供遠程服務的應用aidl所在的目錄結構保持一致,把aidl文件copy過來,如果沒有問題,會在gen目錄下生成一個lservice.java文件,包名跟aidl文件的包名一致
d.在onserviveConnection方法中,通過下列這個方法

把當前的binder對象轉換成遠程服務中的接口類型,最終通過這個對象實現調用遠程方法

(中間的函數還未寫出,后期補上,謝謝各位支持)

總結

以上是生活随笔為你收集整理的2020-11-11(aidl)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。