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

办公网新闻上传网站开发温州大凯工艺品有限公司英文网站

办公网新闻上传网站开发,温州大凯工艺品有限公司英文网站,建设银行网站官网,北京网站建设1000zhu近日对安卓热点功能做了一些技术验证,目的是想利用手机开热点给设备做初始化,用的是安卓13,简言之: 热点设置功能不可用,不可设置SSID和密码,不可程序控制开启关闭,网上的代码统统都过时了Loca…

        近日对安卓热点功能做了一些技术验证,目的是想利用手机开热点给设备做初始化,用的是安卓13,简言之:

  • 热点设置功能不可用,不可设置SSID和密码,不可程序控制开启关闭,网上的代码统统都过时了
  • LocalOnlyHotspot不可设置SSID和密码,只能系统随机(因为没有意义,所以也没有验证)
  • wifi开关不能用程序设置,只能呼出配置界面让用户去操作
  • 热点开关无法呼出
  • 热点手机获取热点IP是可用的
  • 热点手机和设备的UDP广播是可用的

        下面介绍细节。以下代码基于IDEA生成的默认简单应用,面向android 10,测试手机为android 13。textviewFirst是默认生成的标签,本代码用这个标签来显示结果。

目录

一、相关权限

二、获取wifi状态和呼出wifi设置界面

三、获取热点状态


一、相关权限

        本文涉及到的权限如下(可能某些是不必要的):

        在AndroidManifest.xml增加如下设置:

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/><uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/><uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/><uses-permission android:name="android.permission.INTERNET"/>

        实测一下应该能去掉几个权限。这里增加了权限之后还需要在程序里检查,如果没有权限就向用户提出授权申请。

         启动代码的变量增加:

    private static String[] PERMISSION_STORAGE = {"android.permission.ACCESS_WIFI_STATE",         "android.permission.CHANGE_WIFI_STATE",         "android.permission.CHANGE_WIFI_MULTICAST_STATE",         "android.permission.ACCESS_FINE_LOCATION",         "android.permission.ACCESS_COARSE_LOCATION",         "android.permission.INTERNET"};private static int REQUEST_CODE_PERMISSION_STORAGE = 100;

        onCreate增加:

    if (Build.VERSION.SDK_INT >= 23) {for (String str : PERMISSION_STORAGE) {if (this.checkSelfPermission(str) != PackageManager.PERMISSION_GRANTED) {this.requestPermissions(PERMISSION_STORAGE, REQUEST_CODE_PERMISSION_STORAGE);}}}

         这段代码用于如果缺少权限就向用户申请。

二、获取wifi状态和呼出wifi设置界面

        呼出设置界面需要使用ActivityResultLauncher。

        增加变量(比如在FirstFragment里面):

    private ActivityResultLauncher launcher;

        onCreateView增加:

        launcher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>() {@Overridepublic void onActivityResult(ActivityResult result) {binding.textviewFirst.append("设置界面返回"+result.getResultCode()+"\n");}});

        要先注册ActivityResultLauncher。设置界面并不返回有意义的值。后面仍需检查wifi状态。

        在需要的时候呼出设置界面:

public void callWifiConfig(boolean wantClose) {//获取wifi管理服务WifiManager wifiManager = (WifiManager) this.getContext().getSystemService(Context.WIFI_SERVICE);if(null!=wifiManager)binding.textviewFirst.append("wifiManager获取成功\n");if (wantClose && wifiManager.isWifiEnabled() || !wantClose && !wifiManager.isWifiEnabled()) {binding.textviewFirst.append("wifi开启状态:"+wifiManager.isWifiEnabled()+"\n");Intent panelIntent = new Intent(Settings.Panel.ACTION_WIFI);//startActivityForResult(panelIntent);已过时launcher.launch(panelIntent);}return;
}

        这个代码同时演示了获取wifi状态和呼出设置界面。调用此代码即可。

        wifiManager.isWifiEnabled()获取wifi状态。

        Settings.Panel.ACTION_WIFI 仅打开设置wifi,还有几个不同选项,但是没有针对热点的。

        运行效果(界面的下方):

三、获取热点状态

        代码如下:

    public boolean getWifiApState() {WifiManager wifiManager = (WifiManager) this.getContext().getSystemService(Context.WIFI_SERVICE);if (wifiManager.isWifiEnabled()) {binding.textviewFirst.append("wifi处于开启状态\n");return false;} else binding.textviewFirst.append("wifi处于关闭状态\n");try {Method method = wifiManager.getClass().getMethod("getWifiApState");int i = (Integer) method.invoke(wifiManager);binding.textviewFirst.append("热点状态"+i+"\n");return true;} catch (Exception e) {binding.textviewFirst.append(e.toString());return false;}}

         由于getWifiApState()无法直接调用,所以用了invoke。以前的很多设置wifi和热点的代码都是类似这样用,但是现在统统都过时了,手机的权限越收越紧。

(这里是结束)

http://www.yayakq.cn/news/698891/

相关文章:

  • 网站代理软件福建网站建设哪家专业
  • 网站排行榜前十名网站模板分享
  • 内容网站腾讯企点客户通
  • 邯郸有学做搭建网站的吗论我国门户网站建设不足
  • 让人做网站需要准备什么软件用wordpress做的网站
  • 江门企业网站模板建站伊宁网站建设推广平台
  • 怎么做网站frontpage故事式的软文广告例子
  • 网站建设如何描述网站改版的意义
  • 怎样申请网站注册广州市网站建设哪里有
  • wordpress数据表前缀深圳网站营销seo费用
  • 合肥高端网站建设公司网站返回顶部怎么做
  • 昆明做网站建设找谁网站建设公司下载
  • 关于企业网站建设的市场比质比价调查报告wordpress菜单锚点
  • 网站运营和seo的区别公司起名大全免费版
  • 长沙网站优化方式成都专业的网站建设制作公司哪家好
  • 郑州市公司网站开发设计新会区住房和城乡建设局网站
  • 建设网站需要注意什么手续山东省建设工程管理局网站
  • 国内最便宜机票网站建设网站流量多少可以盈利
  • 求个网站你明白的大连网站建设公司
  • 网站制作 商务平台运营需要多少钱
  • 网站建设目的确定wordpress的关键字哪里设置
  • 大型做网站的公司有哪些低价虚拟主机
  • 网站空间ip需不需要备案崇左网站建设
  • asp做购物网站wordpress 过滤插件下载
  • 企业网站的建设流程包括苏州建网站哪个好
  • 网站设计设计方案wordpress 群发
  • 电子商务网站建设考试试题乌兰察布市建设银行网站
  • 国际交流中心网站建设与管理制度泰安诚信的企业建站公司
  • 上海建设工程监理行业协会网站php 做资讯网站
  • 自学网站开发流程网站建设怎么问问题