权限申请
内存读写权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
<application
android:requestLegacyExternalStorage="true">
网络权限
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<application
android:usesCleartextTraffic="true">
电话、蓝牙、WLAN需要精确的位置权限
首先需在AndroidManifest.xml中加上如下权限:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
除此之外还需要在Activity中动态申请权限
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.P) {
if (ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
|| ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
String[] strings =
{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION};
ActivityCompat.requestPermissions(this, strings, 1);
}
} else {
if (ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
|| ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED
|| ActivityCompat.checkSelfPermission(this,
"android.permission.ACCESS_BACKGROUND_LOCATION") != PackageManager.PERMISSION_GRANTED) {
String[] strings = {android.Manifest.permission.ACCESS_FINE_LOCATION,
android.Manifest.permission.ACCESS_COARSE_LOCATION,
"android.permission.ACCESS_BACKGROUND_LOCATION"};
ActivityCompat.requestPermissions(this, strings, 2);
}
}
最后一定要记得打开手机的定位功能
测试环节
安装包打包
在gradle.properties中加入
android.injected.testOnly=false
卸载已安装的APP
在手机上卸载APP未卸载干净时会导致无法安装应用,此时进入Terminal界面输入
adb uninstall com.example.myApplication/*此处输入要卸载APP的包名*/