当前位置: 首页 > news >正文

可以做的电影网站展厅设计施工

可以做的电影网站,展厅设计施工,盘锦网站建设vhkeji,代理自贸区注册公司因为工作中经常需要解决一些framework层的问题#xff0c;而framework层功能一般都是system service 的代理stub#xff0c;然后封装相关接口#xff0c;并提供给APP层使用#xff0c;system service则在不同的进程中运行#xff0c;这样实现了分层#xff0c;隔离#…        因为工作中经常需要解决一些framework层的问题而framework层功能一般都是system service 的代理stub然后封装相关接口并提供给APP层使用system service则在不同的进程中运行这样实现了分层隔离跨进程等需求。 下面以Vibrator为例总结一下实现流程 定义一个抽象类Vibrator定义了应用中可以访问的一些抽象方法frameworks/base/core/java/android/os/Vibrator.java定义具体的类SystemVibrator继承Vibrator实现抽象方法frameworks/base/core/java/android/os/SystemVibrator.java定义一个AIDL接口文件IVibratorService.aidl定义系统服务接口frameworks/base/core/java/android/os/IVibratorService.aidl定义服务VibratorService实现IVibratorService定义的接口frameworks/base/services/java/com/android/server/VibratorService.java public class VibratorService extends IVibratorService.Stub 5.将VibratorServicey添加到系统服务frameworks/base/services/java/com/android/server/SystemServer.java VibratorService vibrator  null;  ...  //实例化VibratorService并添加到ServiceManager  Slog.i(TAG, Vibrator Service);  vibrator  new VibratorService(context); ServiceManager.addService(vibrator, vibrator); ...  //通知服务系统启动完成  try {  vibrator.systemReady(); } catch (Throwable e) {  reportWtf(making Vibrator Service ready, e);  } 6.在SystemVibrator中通过IVibratorService的代理连接到VibratorService这样SystemVibrator的接口实现里就可以调用IVibratorService的接口frameworks/base/core/java/android/os/SystemVibrator.java private final IVibratorService mService; ... public SystemVibrator() { ... mService IVibratorService.Stub.asInterface( ServiceManager.getService(vibrator)); ... public boolean hasVibrator() { ... try { return mService.hasVibrator(); } catch (RemoteException e) { } ... } } 7.在Context里定义一个代表Vibrator服务的字符串frameworks/base/core/java/android/content/Context.java public static final String VIBRATOR_SERVICE vibrator; 8.注册SystemVibrator在ContextImpl里添加SystemVibrator的实例化过程static方法中注册 registerServiceframeworks/base/core/java/android/app/ContextImpl.java registerService(VIBRATOR_SERVICE, new ServiceFetcher() { public Object createService(ContextImpl ctx) { return new SystemVibrator(ctx); }}); 9.在应用中使用Vibrator的接口 Vibrator mVibrator (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); mVibrator.vibrate(500); 10.为保证编译正常还需要将AIDL文件添加到编译配置里frameworks/base/Android.mk LOCAL_SRC_FILES \ ... core/java/android/os/IVibratorService.aidl \ 上面的流程在location service和Bluetooth service等流程基本一致也可以参照上面流程实现自定义的系统服务比如车机开发中经常面临这样的需求。
http://www.dnsts.com.cn/news/154727.html

相关文章:

  • 企业网站seo工作网络营销的方法有哪些?举例说明
  • 华润集团网站建设商网站会员充值接口怎么做的
  • 网站开发问题及解决wordpress获取子菜单
  • 手机网站 link和visited设置同一种颜色失效cps推广网站
  • 山东省建设局网站首页旅游网站的设计栏目
  • 厦门 网站建设 公司wordpress阅读量
  • 阿里巴巴做公司网站做ppt的图片网站
  • 济南公司网站建设价格运营公众号还是做网站
  • 天娇易业网站建设公司西安有哪些做网站的公司
  • 门户网站推荐香河住房和建设局网站
  • 四川省查询建设人员注册证书网站北京正邦品牌设计公司
  • 支付宝 手机网站支付接口2.0遵义网站建设服务
  • 温岭 网站建设个人网站设计内容
  • 51做网站个人怎么做旅游网站
  • 有没有可以在线做化学实验的网站免费咨询律师网站
  • 网站建设 官seo网站代码优化
  • 昌平区网站建设公司请列举常见的网站推广方法
  • 推广网站怎么做建设工程信息官网查询系统
  • 购物网站案例驾考学时在哪个网站做
  • 网站分析与优化的文章广州一起做网站
  • 徐州模板开发建站列表页面设计模板
  • 河南网站推广优化多少钱wordpress默认固定链接
  • 自己的网站怎么做优化个人音乐网站程序
  • 营销型网站的建设要求都有什么作用炫酷手机网站模板
  • 建一个网站的流程c语言做网站
  • 同字形结构布局网站天津模板建站代理
  • 网站建设合作网站设计风格有哪几种
  • 苏州网站推广排名建设网络平台的技术服务合同交印花税吗
  • wamp 怎么做两个网站南通优化网站收费标准
  • 智能建站免费广东贸易网站建设