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)



猜你喜欢

转载自www.cnblogs.com/rhp2lmy1314/p/10926008.html