diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index cf908f5..13de831 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -47,6 +47,7 @@ logger = "2.2.0"
loggingInterceptorVersion = "3.10.0"
multidex = "2.0.1"
ossAndroidSdkVersion = "2.9.21"
+permissionx = "1.7.1"
persistentcookiejar = "v1.0.1"
picture_libraryVersion = "v2.6.0"
reactivexRxjava = "2.2.21"
@@ -125,6 +126,7 @@ logger = { module = "com.orhanobut:logger", version.ref = "logger" }
multidex = { module = "androidx.multidex:multidex", version.ref = "multidex" }
#numberprogressbar-library = { module = "com.daimajia.numberprogressbar:library", version.ref = "libraryVersion" }
okhttp3-logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "loggingInterceptorVersion" }
+permissionx = { module = "com.guolindev.permissionx:permissionx", version.ref = "permissionx" }
persistentcookiejar = { module = "com.github.franmontiel:PersistentCookieJar", version.ref = "persistentcookiejar" }
#pictureselector-picture_library = { module = "com.github.LuckSiege.PictureSelector:picture_library", version.ref = "picture_libraryVersion" }
reactivex-rxjava = { module = "io.reactivex.rxjava2:rxjava", version.ref = "reactivexRxjava" }
diff --git a/moduleUtil/build.gradle b/moduleUtil/build.gradle
index daafe6c..b5410c1 100644
--- a/moduleUtil/build.gradle
+++ b/moduleUtil/build.gradle
@@ -215,6 +215,8 @@ dependencies {
api 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5'
api 'io.github.mayzs:paho.mqtt.android:1.2.1'
+
+
// room数据库
// def room_version = "2.5.0"
// implementation "androidx.room:room-runtime:$room_version"
diff --git a/moduleUtil/src/main/res/layout/fragment_tour_club_dialog.xml b/moduleUtil/src/main/res/layout/fragment_tour_club_dialog.xml
index 687dbf4..cd0c57b 100644
--- a/moduleUtil/src/main/res/layout/fragment_tour_club_dialog.xml
+++ b/moduleUtil/src/main/res/layout/fragment_tour_club_dialog.xml
@@ -62,7 +62,6 @@
app:layout_constraintTop_toBottomOf="@+id/tv_gz" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -432,7 +281,7 @@
android:layout_marginBottom="@dimen/dp_15"
android:orientation="horizontal"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
- app:layout_constraintTop_toBottomOf="@+id/gift_l5"
+ app:layout_constraintTop_toBottomOf="@+id/cl_gift"
app:layout_constraintBottom_toTopOf="@+id/exchange_layout"
/>
@@ -464,6 +313,7 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/exchange_layout"
app:layout_constraintBottom_toBottomOf="@+id/exchange_layout"
+ android:visibility="gone"
/>
-
+
+
+
+
diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/MainActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/MainActivity.java
index ee07798..cd659eb 100644
--- a/modulemain/src/main/java/com/xscm/modulemain/activity/MainActivity.java
+++ b/modulemain/src/main/java/com/xscm/modulemain/activity/MainActivity.java
@@ -18,6 +18,7 @@ import android.view.KeyEvent;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
+import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -36,6 +37,12 @@ import com.example.modulenews.fragment.NewsFragment;
import com.example.moduleroom.activity.RoomActivity;
import com.example.modulevocal.fragment.VocalRangeFragment;
import com.example.modulevoice.fragment.VoiceFragment;
+import com.permissionx.guolindev.PermissionX;
+import com.permissionx.guolindev.callback.ExplainReasonCallback;
+import com.permissionx.guolindev.callback.ForwardToSettingsCallback;
+import com.permissionx.guolindev.callback.RequestCallback;
+import com.permissionx.guolindev.request.ExplainScope;
+import com.permissionx.guolindev.request.ForwardScope;
import com.xscm.modulemain.R;
import com.xscm.modulemain.contacts.HomeContacts;
import com.xscm.modulemain.databinding.ActivityMainBinding;
@@ -553,8 +560,49 @@ public class MainActivity extends BaseMvpActivity deniedList) {
+ String message = "需要GPS权限以获取您的精确位置,用于导航/定位功能";
+ // 若包含后台权限,补充说明
+
+ scope.showRequestReasonDialog(deniedList, message, "确定", "取消");
+ }
+ })
+ // 权限被永久拒绝时,引导至设置页面
+ .onForwardToSettings(new ForwardToSettingsCallback() {
+ @Override
+ public void onForwardToSettings(ForwardScope scope, List deniedList) {
+ scope.showForwardToSettingsDialog(deniedList, "GPS权限被拒绝,无法使用定位功能,请去设置开启", "去设置", "取消");
+ }
+ })
+ // 权限请求结果回调
+ .request(new RequestCallback() {
+ @Override
+ public void onResult(boolean allGranted, List grantedList, List deniedList) {
+ if (allGranted) {
+// Toast.makeText(MainActivity.this, "GPS权限已授予,可开始定位", Toast.LENGTH_SHORT).show();
+ initLocation(); // 启动GPS定位逻辑
+ } else {
+ Toast.makeText(MainActivity.this, "GPS权限被拒绝,无法使用定位功能", Toast.LENGTH_SHORT).show();
+ }
+ }
+ });
}
@Subscribe(threadMode = ThreadMode.MAIN)
@@ -629,18 +677,19 @@ public class MainActivity extends BaseMvpActivity
-