android java ibinder_Java IBinder.isBinderAlive方法代码示例
import android.os.IBinder; //导入方法依赖的package包/类
/**
* 获取已注册服务的IBinder对象,前提是该服务是静态服务,即默认一直存在,或者自己已经启动并且向我们注册过;
* 注意不能通过此借口获取一个插件的服务,除非明确知道该插件的服务已经主动注册过,否则使用getPluginService()
*
* @param context
* @param serviceName 请求获取的service名称
* @return 所请求的service实现对象
*/
public static IBinder getService(Context context, String serviceName) {
if (DEBUG) {
Log.d(TAG, "[getService] begin = " + SystemClock.elapsedRealtime());
}
IBinder service = null;
/**
* 先考虑本地缓存
*/
SoftReference ref = sCache.get(serviceName);
if (ref != null) {
service = ref.get();
if (service != null) {
if (service.isBinderAlive() && service.pingBinder()) {
if (DEBUG) {
Log.d(TAG, "[getService] Found service from cache: " + serviceName);
Log.d(TAG, "[getService] end = " + SystemClock.elapsedRealtime());
}
return service;
} else {
sCache.remove(serviceName);
}
}
}
IServiceChannel serviceChannel = getServerChannel(context);
if (serviceChannel == null) {
return null;
}
try {
service = serviceChannel.getService(serviceName);
if (service != null) {
if (DEBUG) {
Log.d(TAG, "[getService] Found service from remote service channel: " + serviceName);
}
service = ServiceWrapper.factory(context, serviceName, service);
sCache.put(serviceName, new SoftReference(service));
}
} catch (RemoteException e) {
if (DEBUG) {
Log.e(TAG, "[getService] Error when getting service from service channel...", e);
}
}
if (DEBUG) {
Log.d(TAG, "[getService] end = " + SystemClock.elapsedRealtime());
}
return service;
}
android java ibinder_Java IBinder.isBinderAlive方法代码示例相关推荐
- android java ibinder_Java IBinder.pingBinder方法代码示例
import android.os.IBinder; //导入方法依赖的package包/类 /** * 获取已注册服务的IBinder对象,前提是该服务是静态服务,即默认一直存在,或者自己已经启动并 ...
- java kryo_Kryo框架使用方法代码示例
Kryo框架的source已移至https://github.com/EsotericSoftware/kryo ,进入此页面,然后点击右边的Download Zip按钮,就能下载到最新版本的Kryo ...
- java readtimeout_Java HttpURLConnection.getReadTimeout方法代码示例
import java.net.HttpURLConnection; //导入方法依赖的package包/类 /** * 得到响应对象 * * @param urlConnection * @retu ...
- java invalidate_Java Component.invalidate方法代码示例
import java.awt.Component; //导入方法依赖的package包/类 /** Installs the component we will embed to display t ...
- java hasmoreelements_Java IOException.hasMoreElements方法代码示例
import java.io.IOException; //导入方法依赖的package包/类 /** * fileName���� ���� package �������� ������ ���� ...
- java methode_Java Method.getTypeParameters方法代码示例
import java.lang.reflect.Method; //导入方法依赖的package包/类 private void validateRuleMethod(MethodRuleDefin ...
- java textlistener_Java TextView.setOnEditorActionListener方法代码示例
import android.widget.TextView; //导入方法依赖的package包/类 @Override public void onCreate(Bundle savedInsta ...
- java setmethod_Java Operation.setJavaMethod方法代码示例
import com.sun.tools.internal.ws.processor.model.Operation; //导入方法依赖的package包/类 private void createJ ...
- java resume_Java JPushInterface.resumePush方法代码示例
import cn.jpush.android.api.JPushInterface; //导入方法依赖的package包/类 private void saveToSP(User user) { S ...
最新文章
- [THUWC2017]随机二分图
- 又要头秃?2020年七大AI编程语言大盘点
- VS2005+WINDDK+Driver Studio 3.2编译出第一个测试驱动程序
- Android-Spinner的使用以及两种适配器
- 发送结构化的网络消息
- Java 什么叫做实例化
- 实录分享 | 计算未来轻沙龙:对话系统研究进展(视频 + PPT)
- 在数组里查找这样的数,它大于等于左侧所有数,小于等于右侧所有数
- crc32库 qt_Qt 打包32位库(包括WebEngineView)
- android 记一次解决键盘遮挡问题
- 在VS2010中使用Git【图文】转
- LeetCode —— 链表相关(206、141)
- Linux glib命令行解析GOptionEntry使用
- pktgen-dpdk 使用笔记
- 深入学习软件测试:混合正交表工具
- Chrome扩展 - 百度识图
- 如何删除SceneDelegate
- 计算机在运行表格的时候很慢,win7系统打开excel2007表格很慢的解决方法
- 快递系统java实验报告_快递管理毕业论文-基于java的物流快递管理系统设计
- 漫画 | 程序员大战公务员!到底谁猛?
热门文章
- 测试小故事91:讲故事
- LeetCode—Candy(分糖果)—java
- 201571030334 小学四则运算练习软件项目报告
- 南昌大学计算机与科学专业就业前景,南昌大学好就业吗?附南昌大学就业率最高的专业名单...
- 软考中级(软件设计师)——计算机网络(5分)与信息安全(3分)
- php 用什么流程图制作,分享一款简单流程图制作软件,教你快速绘制流程图
- Java多线程【状态与安全问题】
- 【MATLAB】详解 M 文件与 M 函数
- 盘点一款手机Python编程神器——AidLearning(免费分享)
- ZZNUOJ_C语言1001 : 植树问题(完整代码)