• Android开发过程中网络权限问题


    为什么写这篇博客,就是为了记录我在写Tensorflow serving java云端识别客户端过程中遇到的大坑。怎么说呢,就是一套完整的Java客户端写好之后,在Android上编译,你在Logcat里面查看细节的时候,因为Android开发编译和Eclipse编译不同。Eclipse等其它IDE只需要代码写好,直接编译就能看出结果,但是Android需要编译,安装apk文件,从日志中看问题,特别遇到我这个开发设备,那是一个坑啊,只要代码没有运行顺利,他就会直接闪退,在我通信中返回的那个函数语句就是过不了,日志也没有明确提示,毕竟我的代码就是对的。。

    哈哈,我一开始返回调试了好久,正如我前篇博客写的三个版本的客户端,其中第二个就是为了验证Android通信是否原理是对的,,一步步我解析出了每一步每一行语句的输出结果,真找不出问题,后来看了一排你Android开发的一排文档,显示可能是设备网络和软件网络权限的问题,才恍然大悟。

    言归正传,就是说,某些开发设备的网络以及各个软件都有网络设置权限,如果开发过程中,没有声明网络权限问题,你的apk文件在你的设备上安装之后就不可以调用你的设备中的网络,当然啦对于需要远端网络识别来说,肯定不通啦,所以就有了我前面那个request语句过不了的问题。

    解决如下:打开工程,找到配置文件AndroidManifest.xml文件,在结尾 </manifest>前面加上一行声明语句如下:

    <uses-permission android:name="android.permission.INTERNET"/>

    再重新编译安装,就没有问题了。这里我思考了一下,希望看到我这篇博客的小伙伴在以后Android开发网络通信中,千万不要忘记加网络声明,否则可能会坑你很久,哈哈哈
    下面是一些其它权限配置文件,需要的自己瞅瞅,,嘻嘻

    
    

    1、android.permission.ACCESS_CHECKIN_PROPERTIES

    
    

    允许读写访问”properties”表在 checkin数据库中,改值可以修改上传( Allows read/write access to the “properties” table in the checkin database, to change values that get uploaded)

    
    

    2、android.permission.ACCESS_COARSE_LOCATION

    
    

    允许一个程序访问CellID或WiFi热点来获取粗略的位置(Allows an application to access coarse (e.g., Cell-ID, WiFi) location)

    
    

    3、android.permission.ACCESS_FINE_LOCATION

    
    

    允许一个程序访问精良位置(如GPS) (Allows an application to access fine (e.g., GPS) location)

    
    

    4、android.permission.ACCESS_LOCATION_EXTRA_COMMANDS

    
    

    允许应用程序访问额外的位置提供命令(Allows an application to access extra location provider commands)

    
    
    
    

    5、android.permission.ACCESS_MOCK_LOCATION

    
    

    允许程序创建模拟位置提供用于测试(Allows an application to create mock location providers for testing)

    
    

    6、android.permission.ACCESS_NETWORK_STATE

    
    

    允许程序访问有关GSM网络信息(Allows applications to access information about networks)

    
    

    7、android.permission.ACCESS_SURFACE_FLINGER

    
    

    允许程序使用SurfaceFlinger底层特性 (Allows an application to use SurfaceFlinger’s low level features)

    
    

    8、android.permission.ACCESS_WIFI_STATE

    
    

    允许程序访问Wi-Fi网络状态信息(Allows applications to access information about Wi-Fi networks)

    
    

    9、android.permission.ADD_SYSTEM_SERVICE

    
    

    允许程序发布系统级服务(Allows an application to publish system-level services).

    
    

    10、android.permission.BATTERY_STATS

    
    

    允许程序更新手机电池统计信息(Allows an application to update the collected battery statistics)

    
    

    11、android.permission.BLUETOOTH

    
    

    允许程序连接到已配对的蓝牙设备(Allows applications to connect to paired bluetooth devices)



    
    
  • 相关阅读:
    学习进度 -- 2019.6.20
    剑指Offer的学习笔记(C#篇)-- 平衡二叉树(二叉树后序遍历递归详解版)
    剑指Offer的学习笔记(C#篇)-- 二叉树的深度(详讲递归)
    剑指Offer的学习笔记(C#篇)-- 数字在排序数组中出现的次数
    if-else判断语句中经常犯的一个错误
    剑指Offer的学习笔记(C#篇)-- 旋转数组的最小数字
    二叉树遍历基础 -- 递归与非递归的实现方法
    剑指Offer的学习笔记(C#篇)-- 序列化二叉树
    剑指Offer的学习笔记(C#篇)-- 对称的二叉树
    剑指Offer的学习笔记(C#篇)-- 二叉树的下一个节点(好理解版本)
  • 原文地址:https://www.cnblogs.com/rhp2lmy1314/p/10926008.html
Copyright © 2020-2023  润新知