BaseFragment请求权限优化

This commit is contained in:
jk 2025-11-20 15:06:02 +08:00
parent c90150e676
commit 306df47fdd
13 changed files with 21 additions and 14 deletions

View File

@ -13,9 +13,9 @@ import java.util.List;
public class PermissionUtils { public class PermissionUtils {
private static IPermission invokeGetCachePermission(Context context, String permission) { public static IPermission invokeGetCachePermission(Context context, String permission) {
try { try {
Class<?> xxPermissionsClass = Class.forName("com.hjq.permissions.XXPermissions"); Class<?> xxPermissionsClass = Class.forName("com.hjq.permissions.permissions.PermissionLists");
// 尝试获取方法可能需要调整方法名和参数 // 尝试获取方法可能需要调整方法名和参数
Method method = null; Method method = null;
try { try {
@ -48,7 +48,7 @@ public class PermissionUtils {
// 设置可访问 // 设置可访问
method.setAccessible(true); method.setAccessible(true);
// 调用方法 // 调用方法
Object result = method.invoke(null, context, permission); Object result = method.invoke(null, permission);
// 处理返回值 // 处理返回值
if (result instanceof IPermission) { if (result instanceof IPermission) {
return (IPermission) result; return (IPermission) result;

View File

@ -16,6 +16,7 @@
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" /> <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-permission <uses-permission
android:name="android.permission.WRITE_SETTINGS" android:name="android.permission.WRITE_SETTINGS"

View File

@ -12,8 +12,10 @@ import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import com.hjq.permissions.XXPermissions; import com.hjq.permissions.XXPermissions;
import com.hjq.permissions.permission.base.IPermission;
import com.tfq.demo.R; import com.tfq.demo.R;
import com.tfq.library.base.BaseActivity; import com.tfq.library.base.BaseActivity;
import com.tfq.library.permission.PermissionUtils;
import com.tfq.library.utils.LogK; import com.tfq.library.utils.LogK;
import com.tfq.library.utils.ToasterUtil; import com.tfq.library.utils.ToasterUtil;
@ -80,7 +82,9 @@ public class Activity_Font extends BaseActivity {
selectedScaleIndex(4); selectedScaleIndex(4);
} }
boolean granted = XXPermissions.isGrantedPermissions(this, new String[]{Manifest.permission.WRITE_SETTINGS}); IPermission iPermission = PermissionUtils.invokeGetCachePermission(this, Manifest.permission.WRITE_SETTINGS);
assert iPermission != null;
boolean granted = XXPermissions.isGrantedPermission(this, iPermission);
if (!granted) { if (!granted) {
ll_perssion.setVisibility(View.VISIBLE); ll_perssion.setVisibility(View.VISIBLE);
} }
@ -92,7 +96,9 @@ public class Activity_Font extends BaseActivity {
} }
private void onClick(View view) { private void onClick(View view) {
boolean granted = XXPermissions.isGrantedPermissions(this, new String[]{Manifest.permission.WRITE_SETTINGS}); IPermission iPermission = PermissionUtils.invokeGetCachePermission(this, Manifest.permission.WRITE_SETTINGS);
assert iPermission != null;
boolean granted = XXPermissions.isGrantedPermission(this, iPermission);
int viewId = view.getId(); int viewId = view.getId();
if (viewId == R.id.iv_back) { if (viewId == R.id.iv_back) {

View File

@ -1 +1 @@
e05e23ece9281b5430c04a551ae1fdb0 096bd5d9731ccb63f411984cd50036fc

View File

@ -1 +1 @@
8ee3f5d4f7e4e9d7d0dbac0a6400899e8f5493b5 76db422e983f12ea1ea5439238f08e013aba8249

View File

@ -1 +1 @@
4d9bcdfe16f8e575233e962a4ad3b8f198a0077b61a93fdb5a01758644094370 87e2ee10e3a533f0f90c0fa4a0aab54d4438f770c93f0a41b89b5f48c87e3529

View File

@ -1 +1 @@
297865bd1a3f74adb38343391114062021b8cf20e8d43cff2c7cb81c2f39eaacd8137eed036a58aac1edd1f95f8fe270a7bc222c2223e92edf2ccb36b8babca5 bf81fd712ed7ec95fd44e2e28f5d42e14e5656fceb6065249e047b4450ff22386aaf81cbc0c2bc2a319fe1aac107595d612bc7fa39759035ab598b01e56e5f17

View File

@ -9,6 +9,6 @@
<version>1.0.0</version> <version>1.0.0</version>
<version>1.0.1</version> <version>1.0.1</version>
</versions> </versions>
<lastUpdated>20251120060846</lastUpdated> <lastUpdated>20251120070024</lastUpdated>
</versioning> </versioning>
</metadata> </metadata>

View File

@ -1 +1 @@
1cd0bf6251b926a7ba05758f7a92d0dc ee2fac97d5b9ac50e46e01af7270bd7b

View File

@ -1 +1 @@
822ab63ae308bff16409d179ff48db4c509db9ca abaaf63e014b05316fbe6fbc7fe6f543c7a8080f

View File

@ -1 +1 @@
c07078f400f601517dd429a72cac5d374a9016a2f0eeded2ec93f670b2ce8c9a 8b78cae63dfffaae588ffdb490bfef0705c8bb7436709bb30e6158a38509c97a

View File

@ -1 +1 @@
ec29bbc4fcc2e91b7cbeeeadc5b22d342dc46037aba617bd2c2f671322707554988abd94ab3ee73a22ddca0cdaee4799a64a219502201068859e89d801c086c2 fee32b5fee6790f73165a404d91553f390f24c84002727de93478ee5318b3a114db06569599f88e8886fb342aa37c51c56ae2866470423be622cd2951f69fd2d