android java ibinder_Java IBinder.pingBinder方法代码示例
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.pingBinder方法代码示例相关推荐
- android java ibinder_Java IBinder.isBinderAlive方法代码示例
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 ...
最新文章
- 【Eclipse 插件】JD-Eclipse
- 调整代码生成工具Database2Sharp的Winform界面生成,使其易于列表工具栏的使用。...
- maven 无效的源发行版11
- Javascript设计模式之发布-订阅模式
- salt-api安装与配置
- python发展至今有哪些版本_Python发展至今有哪些版本,各版本有什么区别?
- 一款在线画图工具的使用(推荐)
- 无线扩音器FCC认证CE认证需要满足那些要求
- PageOffice国产版的授权及离线注册
- MATLAB-数字图像处理 量化
- 秒杀(小米网抢购系统开发实践--“米粉节”背后的故事)
- Office文档在线编辑和预览服务搭建
- ZEGO 2018上海音视频技术嘉年华 活动回顾PPT下载
- Java计算机毕业设计电影公司网源码+系统+数据库+lw文档
- Androidnbsp;LinearLayout与Relat…
- DIAView高级视频教程
- 一个有意思的分钱模拟问题
- 翻煎饼 swustoj 254
- 不会找对象?教你两招再试试【适用于Java攻城狮】
- Java网络斗地主小程序
热门文章
- 电子计算机的基本结构基于存储程序思想是由,第一章计算机基础知识习题
- 【Leetcode】249. Group Shifted Strings
- JavaScript实现二级联动(省市、楼栋)
- marktest的下载,汉化版下载以及插件推荐
- 基于Python实现对情感极性判断分析实验
- 模板类的动态模板特化
- IT职业教育(1) 北大青鸟APTECH
- css a hover禁止,我可以通过JavaScript禁用CSS:hover效果吗?
- 计算机辅助药物设计 fda,Computer Aided Drug Design 上海交通大学生物 (计算机辅助药物设计上海交通大学生物).pdf...
- 仅用一个微处理器管脚驱动两个低静态电流的LED