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

企业公司网站建设建立一个个人介绍的网站

企业公司网站建设,建立一个个人介绍的网站,搭建商城哪家好怎么样,linux打包网站做备份项目开发遇到下面这个报错了#xff01; 问题原因 直接说原因#xff0c;就是因为进程间不能直接传递对象#xff0c;应该传递该Binder对象的映射#xff08;代理对象#xff09;#xff0c;所以类型转换就出错了。如果在同一个进程中#xff0c;直接传递对象没有关系 问题原因 直接说原因就是因为进程间不能直接传递对象应该传递该Binder对象的映射代理对象所以类型转换就出错了。如果在同一个进程中直接传递对象没有关系下面的类型强转是没有问题的但是如果是不同进程强转就会失败就会报上面的错误。 那启动应用内启动service怎么就成进程间通信了呢因为service是指定了android:process:remote。就算自己的service没有指定android:process如果应用中其他service写了android:process也会导致自己的service报错。 我的Service是一个websocket通信服务本来我把bindService写在Activity中但是这有一个问题就是页面跳转服务会随着声明周期被销毁重建这样每次跳转页面都重新连接浪费时间于是我就把Service挪到了Application里面。我的页面一个LoginActivity一个MainActivity页面跳转到MainActivity的时候就报错了因为我的MainActivity里面使用了百度地图而百度地图的service如下 !-- 百度地图定位的service组件--service android:namecom.baidu.location.fandroid:enabledtrueandroid:process:remote/ 这样就导致我的Service的binder转换报错了。把百度地图Service里面的android:process:remote去掉就就可以了。 解决办法 一.去掉android:process:remote 二.aidl方式 下面记录一下进程间Service要想解决这个问题就是需要用aidl方式。 1.创建aidl文件 Android Studio可以直接创建在与java文件平级的文件下会创建一个aidl文件夹里面包名是app的包名创建一个后缀为.aidl的文件夹 创建之后是这样的 aidl文件如下 // IMyAidlInterface.aidl package com.deviser.androidremote;// Declare any non-default types here with import statementsinterface IMyAidlInterface {//这用来传递Service的包名和文件名传递之后通过反射获取Service对象String getName(); } 编译之后build下面会生成 2.重写Service的Binder方法 // //用于Activity和service通讯//这是原来的方法直接把WebClientService这个对象返回了 // public class WebClientBinder extends Binder { // public WebClientService getService() { // return WebClientService.this; // } // }//通过aidl方式继承IMyAidlInterface.Stub返回的是WebClientService的包名和文件名//进程间传递的是字符串public class WebClientBinder extends IMyAidlInterface.Stub{Overridepublic String getName() throws RemoteException {return WebClientService.class.getName();}} 3.修改onServiceConnected private var webServiceConnection: ServiceConnection object : ServiceConnection {override fun onServiceConnected(componentName: ComponentName?, iBinder: IBinder?) {//原来就是这里iBinder强转成WebClientService.WebClientBinder报错 // var binder: WebClientService.WebClientBinder iBinder as WebClientService.WebClientBinder // webClientService binder.service// 获得代理对象var proxy IMyAidlInterface.Stub.asInterface(iBinder)try {//通过反射机制把字符串转换成对象WebClientService对象var clazz Class.forName(proxy.name)webClientService clazz.newInstance() as WebClientService?}catch (e: Exception){e.printStackTrace()}}override fun onServiceDisconnected(componentName: ComponentName?) {Log.e(MyConstant.TAG,服务与活动成功断开);}} 到这里问题就解决啦
http://www.pierceye.com/news/104902/

相关文章:

  • 学校网页网站模板免费下载微信的微网站
  • 网站开发的解决方案小型行业网站建设维护成本
  • 浏阳市网站建设百度中心人工电话号码
  • 高端外贸网站制作智慧团建网站没有验证码
  • 做网站需要买服务器么网站建设营销外包公司排名
  • 网站建设中要多使用图片258网站建设
  • 做多语言网站教程开网页慢是什么原因
  • 汽车商城网站模板seo公司网站推广
  • 网站备案查询工信部官网网站建设费用推荐网络专业
  • 网站开发费用是研发费用国内做seo最好公司
  • 什么是网站建设公司企业网站后台管理
  • 做网站阿里巴巴好还是百度好柠檬网络科技网站建设
  • 做个网站要多少钱网站建设工作 方案
  • 一个主体如何添加网站室内设计公司的名字
  • 中国建设学会网站洛阳市住房和城乡建设局网站
  • 北京网站优化方式做物流的网站都有什么风险
  • 零基础学做网站页怎么部署wordpress
  • 网站如何做死链接提交筑站网络推广
  • 小说网站开发php网站后台如何修改文字
  • 网站制作是那个带有客户案例的网站
  • 中国纪检监察报数字报湛江关键词优化平台
  • 网站品牌词如何优化东莞公司网站建设营销型网站建设
  • 鞍山网站建设营销想把自己做的网站放到网上
  • 松原公司做网站青岛工程建设管理信息网官方网站
  • 一个空间2个网站网站 手机 app
  • 河北网站建设方案详细磁器口网站建设
  • 怎么做网站树洞wordpress edd 会员
  • 购物网站中加减数目的怎么做仿站违法吗
  • 代理ip访问网站局门户网站的建设
  • 建网站业务如何开展阳江房产信息网官网