自学内容网 自学内容网

Android Link to Death 使用

Java侧:

【android学习】使用linkToDeath对AIDL双向死亡监听_unlinktodeath-CSDN博客

Native侧:

Service端

using namespace android;
class MyService :public IBinder::DeathRecipient{
void MyService::binderDied(const wp<IBinder>& who) {
//可以释放相关资源
}
    void MyService ::setCallback(const sp<MyCallback>& cb) {
   ::android::IInterface::asBinder(cb)->linkToDeath(this);
}
}

Client端

using namespace android;
class MyClient :public IBinder::DeathRecipient{
void  MyClient ::binderDied(const wp<IBinder>& who) {   
IInterface::asBinder(mService)->unlinkToDeath(this);
        //这里可做重新申请获取service。
}
    void  MyClient ::getService() {
mService = getService(String16("XXXX"));
IInterface::asBinder(mService)->linkToDeath(this);
}
}

原文地址:https://blog.csdn.net/langjian2012/article/details/144433664

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!