给定位添加了个动态权限校验

master
呗 呗 3 years ago
parent fc12817d5b
commit 4f999a342f

@ -13,6 +13,9 @@
<!-- 手机照片访问权限,调用相机权限 -->
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
tools:ignore="ScopedStorage" />
<!-- 这个权限用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<!-- 这个权限用于访问GPS定位-->
@ -39,7 +42,8 @@
android:theme="@style/Theme.STLink"
android:networkSecurityConfig="@xml/network_security_config"
android:requestLegacyExternalStorage="true"
android:largeHeap="true">
android:largeHeap="true"
tools:targetApi="n">
<!--百度定位AK-->
<meta-data
@ -65,7 +69,7 @@
<!-- 调整二维码扫描界面为竖屏 -->
<activity
android:name="com.journeyapps.barcodescanner.CaptureActivity"
android:screenOrientation="portrait"
android:screenOrientation="fullSensor"
tools:replace="screenOrientation" />
<!-- 开机加载动画 -->

@ -1,11 +1,16 @@
package com.example.stlink.activitys.fragmentChild.activityTeaHome;
import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.location.LocationManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.provider.Settings;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
@ -19,6 +24,7 @@ import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.AppCompatButton;
import androidx.core.content.ContextCompat;
import com.alibaba.fastjson.JSON;
import com.example.stlink.R;
@ -234,11 +240,28 @@ public class CreateSign extends AppCompatActivity {
});
//定位
etLocation.setOnClickListener(v -> {
Intent intent = new Intent(CreateSign.this, MapActivity.class);
intent.putExtras(getIntent().getExtras());
intentActivityResultLauncher.launch(intent);
// etLocation.setText("定位");
LocationManager lm = (LocationManager) getSystemService(LOCATION_SERVICE);
boolean ok = lm.isProviderEnabled(LocationManager.GPS_PROVIDER);
if (ok) {//开了定位服务
if (ContextCompat.checkSelfPermission(CreateSign.this, Manifest.permission.ACCESS_FINE_LOCATION)
== PackageManager.PERMISSION_GRANTED) { //有权限
Intent intent = new Intent(CreateSign.this, MapActivity.class);
intent.putExtras(getIntent().getExtras());
intentActivityResultLauncher.launch(intent);
} else { // 跳转到授予定位权限界面
Toast.makeText(CreateSign.this, "需要授予定位权限", Toast.LENGTH_SHORT).show();
Intent intent = new Intent();
intent.setAction(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setData(Uri.parse("package:" + this.getPackageName()));
startActivity(intent);
}
} else {
Toast.makeText(CreateSign.this, "系统检测到未开启GPS定位服务", Toast.LENGTH_SHORT).show();
Intent intent = new Intent();
intent.setAction(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent);
}
});
//保存按钮
abBtSave.setOnClickListener(v -> {

@ -276,7 +276,7 @@ public class ModifyUserInfo extends AppCompatActivity {
@Override
public void run() {
JSONObject jsonObject = new JSONObject();
Boolean isLegalInput = false;
boolean isLegalInput = false;
try {
jsonObject.put(ModelFieldConstants.ID, (Long) bundle.get(ModelFieldConstants.ID));
} catch (JSONException e) {

@ -1,11 +1,16 @@
package com.example.stlink.activitys.fragmentChild.activityUserInfo;
import android.Manifest;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.location.LocationManager;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.provider.Settings;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
@ -17,12 +22,15 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.content.ContextCompat;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.bumptech.glide.request.RequestOptions;
import com.donkingliang.imageselector.utils.ImageSelector;
import com.example.stlink.R;
import com.example.stlink.activitys.MapActivity;
import com.example.stlink.activitys.fragmentChild.activityTeaHome.CreateSign;
import com.example.stlink.model.constants.ModelFieldConstants;
import com.example.stlink.model.constants.UrlConstants;
import com.example.stlink.utils.CommonUtils;
@ -188,12 +196,10 @@ public class UserInfoDetail extends AppCompatActivity {
if(idNumberMsg != null){
tvIdNumberMsg.setText(String.valueOf(idNumberMsg));
}
if(sexMsg != null){
if(sexMsg){
tvSexMsg.setText("男");
}else{
tvSexMsg.setText("女");
}
if(sexMsg){
tvSexMsg.setText("男");
}else{
tvSexMsg.setText("女");
}
if(createTimeMsg != null){
Date date = new Date(createTimeMsg);
@ -210,7 +216,6 @@ public class UserInfoDetail extends AppCompatActivity {
}
/**
*
*/

Loading…
Cancel
Save