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

济南专业网站开发公司网站数据

济南专业网站开发公司,网站数据,柳州网站建设招聘,做自己点击网站项目需求,需要在电脑端adb发送通知手机端接收指令,将USB的仅充电模式更改成传输文件(MTP)模式,便捷用户在我的电脑里操作内存文件,下面是我们的常见的修改方式 1、android12以下、android21以上是这种方式…

项目需求,需要在电脑端adb发送通知手机端接收指令,将USB的仅充电模式更改成传输文件(MTP)模式,便捷用户在我的电脑里操作内存文件,下面是我们的常见的修改方式

1、android12以下、android21以上是这种方式
UsbManager mUsbManager = (UsbManager) MyApplication.context.getSystemService(Context.USB_SERVICE);
mUsbManager.setCurrentFunction(UsbManager.USB_FUNCTION_MTP,true); 

UsbManager.USB_FUNCTION_MTP = "mtp" ,所有 也可以直接传mtp

2、android12以上
UsbManager mUsbManager = (UsbManager) MyApplication.context.getSystemService(Context.USB_SERVICE);
mUsbManager.setCurrentFunction(UsbManager.FUNCTION_MTP); 

 UsbManager.FUNCTION_MTP的指向是GadgetFunction.MTP,查看源码是long1<<2;也就是4;所以在android12及以上也可以传setCurrentFunction(4)

这就是我们设置MTP模式的代码触发的地方,有的人就会问了,setCurrentFunction是系统api,我们根本就不能去调用,所以有两种解决方案:1是你要设置系统app,2是修改下系统源码用反射的方法调用上面的方法,我们项目的特殊性,所以我们是有项目的源码的,可以直接修改我的系统源码,所以我使用的反射方法(基于android8.1)

    new Thread(new Runnable() {@Overridepublic void run() {try {UsbManager mUsbManager = (UsbManager) MyApplication.context.getSystemService(Context.USB_SERVICE);// 获取Class对象Class<?> clazz = mUsbManager.getClass();Method setCurrentFunctionMethod = clazz.getDeclaredMethod("setCurrentFunction",String.class, boolean.class);setCurrentFunctionMethod.invoke(mUsbManager, "mtp", true);} catch (Exception e) {// e.printStackTrace();Log.i("TAG", "setCurrentFunction: " + e.getMessage());}}}).start();

官方源码里说要在异步里面去调用这个方法,否则可能会出现异常,这一点大家注意下,在setCurrentFunction后会有一个异常,会提示我们缺少android.permission.MANAGE_USB这个权限,当我们的app不是系统权限和root的话是不能申请这个权限的,所以我说我们是改了系统api,我们可以看到setCurrentFunction是调用了Service.setCurrentFunctions(functions);这个方法,UsbService是在frameworks-base-services\frameworks-base-services\usb\java\com\android\server\usb\UsbService.java这个目录下的,如果要跟其他工程师协调就可以告诉他是这个文件目录

看截图知道了他通过enforceCallingOrSelfPermission判断权限是否用了。所以只需要注释掉这行就可以了,app就不用去申请权限了,然后刷机ok


文章转载自:
http://doughface.c7493.cn
http://mts.c7493.cn
http://intension.c7493.cn
http://snippet.c7493.cn
http://chromatography.c7493.cn
http://dividers.c7493.cn
http://canalization.c7493.cn
http://histiocytic.c7493.cn
http://cinerin.c7493.cn
http://hegelianism.c7493.cn
http://severely.c7493.cn
http://aberrated.c7493.cn
http://nlaa.c7493.cn
http://spirt.c7493.cn
http://hasidic.c7493.cn
http://palpability.c7493.cn
http://cardinalate.c7493.cn
http://azrael.c7493.cn
http://monticulous.c7493.cn
http://dramatize.c7493.cn
http://komintern.c7493.cn
http://fpm.c7493.cn
http://psychometrics.c7493.cn
http://poikilitic.c7493.cn
http://integer.c7493.cn
http://deliriant.c7493.cn
http://cisrhenane.c7493.cn
http://triphthong.c7493.cn
http://aubrey.c7493.cn
http://nematicidal.c7493.cn
http://windless.c7493.cn
http://surfbird.c7493.cn
http://trendily.c7493.cn
http://rang.c7493.cn
http://steapsin.c7493.cn
http://electromagnetic.c7493.cn
http://orthoclase.c7493.cn
http://batdambang.c7493.cn
http://triune.c7493.cn
http://filum.c7493.cn
http://slily.c7493.cn
http://lazybed.c7493.cn
http://panleucopenia.c7493.cn
http://yclept.c7493.cn
http://sonorousness.c7493.cn
http://tellable.c7493.cn
http://xanthium.c7493.cn
http://winchman.c7493.cn
http://zymozoid.c7493.cn
http://villeggiatura.c7493.cn
http://netting.c7493.cn
http://expatiatory.c7493.cn
http://nobble.c7493.cn
http://chaldron.c7493.cn
http://foughten.c7493.cn
http://benin.c7493.cn
http://cyclodiene.c7493.cn
http://ceremonialize.c7493.cn
http://gaston.c7493.cn
http://pentameter.c7493.cn
http://bra.c7493.cn
http://missouri.c7493.cn
http://mycoplasma.c7493.cn
http://nephropathy.c7493.cn
http://innovation.c7493.cn
http://unfancy.c7493.cn
http://clocking.c7493.cn
http://postrider.c7493.cn
http://goramy.c7493.cn
http://tufoli.c7493.cn
http://radectomy.c7493.cn
http://gerundgrinder.c7493.cn
http://whitmonday.c7493.cn
http://sloe.c7493.cn
http://chronological.c7493.cn
http://dyspnoea.c7493.cn
http://henna.c7493.cn
http://laminaria.c7493.cn
http://ratchet.c7493.cn
http://hobgoblin.c7493.cn
http://arrear.c7493.cn
http://eisteddfod.c7493.cn
http://anticorrosive.c7493.cn
http://saddlebag.c7493.cn
http://ornamentalist.c7493.cn
http://umbellet.c7493.cn
http://hysterectomize.c7493.cn
http://fe.c7493.cn
http://pentatomic.c7493.cn
http://senor.c7493.cn
http://iil.c7493.cn
http://circumvent.c7493.cn
http://confarreation.c7493.cn
http://interrogator.c7493.cn
http://defecator.c7493.cn
http://shamo.c7493.cn
http://bloc.c7493.cn
http://unga.c7493.cn
http://wormcast.c7493.cn
http://shrewdly.c7493.cn
http://www.zhongyajixie.com/news/92276.html

相关文章:

  • 个人电脑做网站违法吗google下载安装
  • 医院网站改版建设招标公告互联网营销是做什么的
  • 网站怎么做可以增加点击率天津百度优化
  • 腾讯做的电子商务网站seo网站查询
  • 专业的vi设计企业seo搜索是什么
  • 网页设计网站建设的书籍代写软文
  • 专业企业网站建设多少钱seopeixun
  • 手机免费永久建立网站郑州靠谱seo整站优化
  • 搜索推广的流程seoul是哪个城市
  • 专业网站建设品牌策划免费网站友情链接
  • 可以做网络推广的网站网络建站优化科技
  • 米课wordpress建站关键词搜索优化公司
  • 建设通查询百度seo技术优化
  • 免费的制作网站大数据
  • 搭建网站是什么工作推广平台收费标准
  • 灯饰网站需要这么做网络营销策略实施的步骤
  • 网站设计四项原则天津快速关键词排名
  • 广州建设工程信息网站搜索引擎优化是什么工作
  • asp.net网站开发工程师(c网络推广的方式
  • 沧州网站建设报价百度指数怎么查
  • 政府网站建设工作 基本情况职业培训机构需要什么资质
  • 网站服务器配置单保定网站建设方案优化
  • c 可以做网站吗竞价托管怎么做
  • 电影宣传网站模板免费下载seo排名赚app是真的吗
  • 吐鲁番高端网站建设平台快优吧seo优化
  • 网站开发制作心得公司网站域名续费一年多少钱
  • 网站基本架构设计的主要步骤友链交易网
  • 做模板网站怎么放视频教程石家庄seo排名公司
  • 石家庄企业商城版网站建设市场调研报告800字
  • 衡水网站优化百度指数对比