安卓9[Android P]打开/关闭热点
前言
网络相关工具库方法
功能
1、打开热点
代码如下(示例):
/*** 打开WiFi热点* @param context*/public static void startTethering(Context context) {//1、环境属性记录String property = System.getProperty("dexmaker.dexcache");//2、设置新的属性System.setProperty("dexmaker.dexcache", context.getCacheDir().getPath());//3、反射操作打开热点ConnectivityManager connectivityManager = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE));try {Class classOnStartTetheringCallback = Class.forName("android.net.ConnectivityManager$OnStartTetheringCallback");Method startTethering = connectivityManager.getClass().getDeclaredMethod("startTethering", int.class, boolean.class, classOnStartTetheringCallback);Object proxy = ProxyBuilder.forClass(classOnStartTetheringCallback).handler(new InvocationHandler() {@Overridepublic Object invoke(Object o, Method method, Object[] objects) throws Throwable {return null;}}).build();startTethering.invoke(connectivityManager, 0, false, proxy);} catch (Exception e) {e.printStackTrace();}//4、恢复环境属性if (property != null) {System.setProperty("dexmaker.dexcache", property);}}
2、关闭热点
/*** 关闭热点* @param context*/public static void stopTethering(Context context) {//1、环境属性记录String property = System.getProperty("dexmaker.dexcache");//2、设置新的属性System.setProperty("dexmaker.dexcache", context.getCacheDir().getPath());ConnectivityManager connectivityManager = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE));try {Method stopTethering = connectivityManager.getClass().getDeclaredMethod("stopTethering", int.class);stopTethering.invoke(connectivityManager, 0);} catch (Exception e) {e.printStackTrace();}//3、恢复环境属性if (property != null) {System.setProperty("dexmaker.dexcache", property);}}
总结
1、系统应用
2、相应权限在运行时配置
3、系统属性,应用运行时,如果出现以下错误,需要新增
System.err: java.lang.IllegalArgumentException: dexcache == null (and no default could be found; consider setting the 'dexmaker.dexcache' system property)
System.err: at com.android.dx.DexMaker.generateAndLoad(DexMaker.java:424)
System.err: at com.android.dx.stock.ProxyBuilder.buildProxyClass(ProxyBuilder.java:304)
System.err: at com.android.dx.stock.ProxyBuilder.build(ProxyBuilder.java:225)
安卓9[Android P]打开/关闭热点相关推荐
- 如何在Android中打开/关闭相机LED /手电筒
在本教程中,我们向您展示如何在Android中打开/关闭手机摄像头或手电筒. 查看代码段: 1.开启 camera = Camera.open();Parameters p = camera.getP ...
- Android WiFi 打开关闭流程
本文简单介绍下WiFi打开与关闭流程,参考源码Android P. 一.WiFi 开机自动打开流程 系统服务启动的时候会启动WifiService,在SystemService.PHASE_SYSTE ...
- 【Unity3D】Android 打包 ④ ( Android 工程打包 | Unity 中导出安卓工程 | Android Studio 打开 Unity 导出的 Android 工程 )
文章目录 一. Android 工程打包 二. Android Studio 打开 Unity 导出的 Android 工程 一. Android 工程打包 Android 工程打包 就是将 Unit ...
- android 自动打开wifi热点
https://download.csdn.net/download/zyfzhangyafei/11978383
- android关闭传感器,您如何在安卓10手机上打开和关闭传感器
这是您如何在Android 10手机上打开和关闭传感器的方法.最新的Android智能手机配备了各种传感器和突破性的新功能.温度,湿度和气压计传感器,接近传感器,RGB光传感器,加速度计,磁力计和陀螺 ...
- Android监听个人热点(Hotspot)打开关闭状态
Android监听个人热点(Hotspot)打开关闭状态 package com.android.systemui.statusbar.policy;import android.content.Br ...
- android 打开ap热点
在android上,实现打开ap热点功能,记录一下过程中遇到的问题: package com.test;import android.content.Context; import android.n ...
- android 读取wps_安卓APP调用WPS打开Office文件并返回APP
原创文章:转载请注明出处 安卓APP调用WPS打开Office文件并返回APP功能实现(附wps工具) 在某些app(如OA系统app)开发工程中,往往会遇到编辑Office文档的需求,而我们一般采取 ...
- android打开sqlite数据库,Android:打开和关闭SQLite数据库
我正在开发和android应用程序,我经常使用它访问本地数据库.这个数据库可以从不同的therads访问,所以我对数据库有一个协调问题.我使用以下open()和close()方法.Android:打开 ...
最新文章
- vs2005c语言连接mysql_VS2005连接MySQL C API
- Brocade说:网络就是云
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(2):处理异步调用中的异常...
- 一行Python代码
- java有var吗_java – Var和Var之间的区别
- 忍者必须死3 玩什么忍者_降维:忍者新手
- 杭州刚公布完摇号卖房新政,隔天就来个百亿地王,大家怎么看?
- server sql 水平分表_springboot集成Shardingsphere进行分库分表
- jQuery--noConflict()方法
- Nginx日志配置及分割
- 天堂2服务端服务器名字修改,如何制作L2J天堂2单机版源码服务端教程.doc
- DDD领域驱动设计 思维导图
- web端实现类微信的语音播放效果
- 硬件工程师要学习的东西
- 推荐两个适合程序员接国外私单的网站
- 安卓手机做服务器(django),完成废物利用
- Possible solution: - Disable offline mode and rerun the build
- 看完这篇电磁兼容分层与综合设计法,EMC你还不懂就没救了
- CSS3多列布局 columns 弹性布局 flex
- 跟风晒CVPR 2023论文