本文整理汇总了Java中android.os.IBinder.DeathRecipient方法的典型用法代码示例。如果您正苦于以下问题:Java IBinder.DeathRecipient方法的具体用法?Java IBinder.DeathRecipient怎么用?Java IBinder.DeathRecipient使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类android.os.IBinder
的用法示例。
在下文中一共展示了IBinder.DeathRecipient方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: newSession
import android.os.IBinder; //导入方法依赖的package包/类
@Override
public boolean newSession(ICustomTabsCallback callback) {
final CustomTabsSessionToken sessionToken = new CustomTabsSessionToken(callback);
try {
DeathRecipient deathRecipient = new IBinder.DeathRecipient() {
@Override
public void binderDied() {
cleanUpSession(sessionToken);
}
};
synchronized (mDeathRecipientMap) {
callback.asBinder().linkToDeath(deathRecipient, 0);
mDeathRecipientMap.put(callback.asBinder(), deathRecipient);
}
return CustomTabsService.this.newSession(sessionToken);
} catch (RemoteException e) {
return false;
}
}
示例2: linkToDeath
import android.os.IBinder; //导入方法依赖的package包/类
/**
* Register a {@link android.os.IBinder.DeathRecipient} to know of binder connection lose
*/
public void linkToDeath(IBinder.DeathRecipient deathRecipient) {
try {
mRemote.linkToDeath(deathRecipient, 0);
} catch (Exception ignored) {
}
}
示例3: unLinkToDeath
import android.os.IBinder; //导入方法依赖的package包/类
/**
* UnRegister a {@link android.os.IBinder.DeathRecipient} to know of binder connection lose
*/
public void unLinkToDeath(IBinder.DeathRecipient deathRecipient) {
try {
mRemote.unlinkToDeath(deathRecipient, 0);
} catch (Exception ignored) {
}
}
示例4: subscribe
import android.os.IBinder; //导入方法依赖的package包/类
@Override
public void subscribe(final RemoteEventListener listener) {
if (DEBUG) {
Log.v(TAG, "onSubscribe " + completed + " " + lastEvent);
}
synchronized (LOCK) {
this.listener = listener;
if (!completed) {
RemoteEventController.this.onSubscribed();
if (listener instanceof RemoteEventListener_Proxy) {
deathRecipient = new IBinder.DeathRecipient() {
@Override
public void binderDied() {
if (DEBUG) {
Log.v(TAG, "Binder dead");
}
unsubscribe();
}
};
((RemoteEventListener_Proxy) listener).linkToDeath(deathRecipient);
}
}
if (lastEvent != null) {
sendEventToObservable(lastEvent, dataType);
}
if (lastException != null) {
sendOnError(lastException);
} else if (completed) {
sendOnCompleted();
}
}
}
示例5: linkBinderDied
import android.os.IBinder; //导入方法依赖的package包/类
private static void linkBinderDied(final IBinder binder) {
IBinder.DeathRecipient deathRecipient = new IBinder.DeathRecipient() {
@Override
public void binderDied() {
binder.unlinkToDeath(this, 0);
}
};
try {
binder.linkToDeath(deathRecipient, 0);
} catch (RemoteException e) {
e.printStackTrace();
}
}
示例6: linkBinderDied
import android.os.IBinder; //导入方法依赖的package包/类
private static void linkBinderDied(final IBinder binder) {
IBinder.DeathRecipient deathRecipient = new IBinder.DeathRecipient() {
@Override
public void binderDied() {
binder.unlinkToDeath(this, 0);
}
};
try {
binder.linkToDeath(deathRecipient, 0);
} catch (RemoteException e) {
e.printStackTrace();
}
}