开发者社区> 问答> 正文

使用my.getNetworkType方法在真机调试时,安卓中会出现弹窗

4cd6442556f6c05c97bd0eebc3c204be_.png 如图,使用my.getNetworkType方法会在真机调试时会出现此弹窗,这是为什么呢,怎么样可以避免这个弹窗出现呢

展开
收起
游客ssu7rubxb7bbm 2023-04-13 11:04:05 205 0
1 条回答
写回答
取消 提交回答
  • 值得去的地方都没有捷径

    根据您提供的截图,弹窗提示的是应用正在请求网络权限。这是因为在Android 6.0及以上版本中,应用需要在运行时动态请求网络权限,而不是在安装时静态授权。如果您的应用没有请求网络权限,调用my.getNetworkType方法时就会弹出请求权限的对话框。

    为了避免弹出请求权限的对话框,您可以在应用中添加请求网络权限的代码,例如:

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (checkSelfPermission(Manifest.permission.ACCESS_NETWORK_STATE) != PackageManager.PERMISSION_GRANTED) { requestPermissions(new String[]{Manifest.permission.ACCESS_NETWORK_STATE}, REQUEST_CODE_NETWORK_STATE); } }

    在请求网络权限之前,需要先检查应用是否已经被授权了网络权限。如果应用没有被授权网络权限,则调用requestPermissions方法请求授权。需要注意的是,请求权限时需要传入一个请求码,以便在请求结果返回时进行处理。

    如果您的应用已经请求了网络权限,但仍然弹出请求权限的对话框,可能是因为权限请求被拒绝了。在这种情况下,您可以在请求权限被拒绝时给出相应的提示,并提供手动授权的方法。

    2023-04-14 18:02:21
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载