BaseFragment 权限的反射方法修复

This commit is contained in:
jk 2025-11-20 16:09:26 +08:00
parent a579b3dd56
commit ee56f71251
13 changed files with 29 additions and 9 deletions

View File

@ -22,6 +22,7 @@ import androidx.fragment.app.Fragment;
import com.hjq.permissions.OnPermissionCallback;
import com.hjq.permissions.XXPermissions;
import com.hjq.permissions.permission.base.IPermission;
import com.tfq.library.utils.LogK;
import com.tfq.library.view.Animation;
import com.tfq.library.view.AuthDialog;
@ -119,6 +120,9 @@ public abstract class BaseFragment extends Fragment {
private void requestPermission(String[] permission, boolean show_doNotAskAgain, Listener listener) {
List<IPermission> iPermissionList = convertToIPermissionArray(permission);
for (int i = 0; i < iPermissionList.size(); i++) {
LogK.e("iPermissionList="+iPermissionList.get(i));
}
if (iPermissionList.isEmpty()){
return;
}

View File

@ -6,6 +6,7 @@ import android.util.Log;
import com.hjq.permissions.permission.base.IPermission;
import com.hjq.toast.Toaster;
import com.tfq.library.R;
import com.tfq.library.utils.LogK;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
@ -26,8 +27,10 @@ public class PermissionUtils {
Object result = method.invoke(null, permission);
// 处理返回值
if (result instanceof IPermission) {
LogK.e("0000000000000");
return (IPermission) result;
}
LogK.e("1111111111111111");
return null;
} catch (ClassNotFoundException e) {
Log.e("Reflection", "PermissionUtils class not found", e);
@ -52,6 +55,7 @@ public class PermissionUtils {
}
for (int i = 0; i < permissions.length; i++) {
String permission = permissions[i];
LogK.e("permission="+permission);
// 1. 尝试通过反射获取缓存的IPermission
IPermission cachedPermission = invokeGetCachePermission(permission);
if (cachedPermission != null) {

View File

@ -38,6 +38,18 @@ android {
'proguard-rules-base.pro'
signingConfig signingConfigs.release
}
debug {
minifyEnabled false //
shrinkResources false // 使
//
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
'proguard-rules.pro',
//ad混淆
'proguard-rules-ad.pro',
//base混淆
'proguard-rules-base.pro'
signingConfig signingConfigs.release
}
}
flavorDimensions "versionCode"

View File

@ -1 +1 @@
4c5cf33d385d4e16ffaee60df20d8662
304826bd11e9614142ecd6345b5a6680

View File

@ -1 +1 @@
ae2eb9e8c47dd62054b6b88f0b7d86e47c315982
0696947ead6e87bacf305f13922505aa927c0932

View File

@ -1 +1 @@
553c671179f728ddb3f63cdfc0e033584eae2c9eb8cab1366f139c019858805c
36f3d8b6a99ff5b00a62b0dc0d87b1100a8425c3b3385446998fe7cfe93ac6d1

View File

@ -1 +1 @@
c8d00f22d0d50f8cbd13197e9dd0cfcc4eb24d28ccc869fc4f3d490472abd28a26601e99ffae56f2ab39a0e7eb8735ec0b5d56ff86a9545d2f4b92063a2ab641
4a4c5bb3f49e44b95fc07bee60b9088c295a319b0bf2d868761d11a7d7068c1b6e45c7fc51ed34edbfccb1e43070b0675758f0ad8093f4d824fdf01753b35501

View File

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

View File

@ -1 +1 @@
29a3a20468a28f11ed3d691175d07fd5
2e9274ee9bfe3ae9684d844f3f5e4f39

View File

@ -1 +1 @@
2fed2a0fc960a1a4b7e76e0eefe8955699d1cb6c
383ccc9dc24b76213b99acadc58e972486e84339

View File

@ -1 +1 @@
46fd4ad6a3d84235cacd954a9693a416cf66b4dfc4c88bd6d8abfc02828c05a2
8cda9377a8fd92e350167b3a6bf85354a2ff3aa3673c09cd522d8f5555eccd9d

View File

@ -1 +1 @@
ac1d0f176b9d9822a4cbac760bf136524d7a2cc7f88be2123eba57189d0412dc6b319f17a486bc23cd15710c1f32a048971a83e7577efbd4c928c4baff8efa9b
e52c69c4171259a8989e2ed833809b696eae3ed2789d5792995592b64d684ba4949ca67d4af3649d00e44770c0b32ed69f60bdd8644e153fc1879419787c891c