BaseFragment 权限的反射方法修复
This commit is contained in:
parent
a579b3dd56
commit
ee56f71251
|
|
@ -22,6 +22,7 @@ import androidx.fragment.app.Fragment;
|
||||||
import com.hjq.permissions.OnPermissionCallback;
|
import com.hjq.permissions.OnPermissionCallback;
|
||||||
import com.hjq.permissions.XXPermissions;
|
import com.hjq.permissions.XXPermissions;
|
||||||
import com.hjq.permissions.permission.base.IPermission;
|
import com.hjq.permissions.permission.base.IPermission;
|
||||||
|
import com.tfq.library.utils.LogK;
|
||||||
import com.tfq.library.view.Animation;
|
import com.tfq.library.view.Animation;
|
||||||
import com.tfq.library.view.AuthDialog;
|
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) {
|
private void requestPermission(String[] permission, boolean show_doNotAskAgain, Listener listener) {
|
||||||
List<IPermission> iPermissionList = convertToIPermissionArray(permission);
|
List<IPermission> iPermissionList = convertToIPermissionArray(permission);
|
||||||
|
for (int i = 0; i < iPermissionList.size(); i++) {
|
||||||
|
LogK.e("iPermissionList="+iPermissionList.get(i));
|
||||||
|
}
|
||||||
if (iPermissionList.isEmpty()){
|
if (iPermissionList.isEmpty()){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import android.util.Log;
|
||||||
import com.hjq.permissions.permission.base.IPermission;
|
import com.hjq.permissions.permission.base.IPermission;
|
||||||
import com.hjq.toast.Toaster;
|
import com.hjq.toast.Toaster;
|
||||||
import com.tfq.library.R;
|
import com.tfq.library.R;
|
||||||
|
import com.tfq.library.utils.LogK;
|
||||||
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
|
|
@ -26,8 +27,10 @@ public class PermissionUtils {
|
||||||
Object result = method.invoke(null, permission);
|
Object result = method.invoke(null, permission);
|
||||||
// 处理返回值
|
// 处理返回值
|
||||||
if (result instanceof IPermission) {
|
if (result instanceof IPermission) {
|
||||||
|
LogK.e("0000000000000");
|
||||||
return (IPermission) result;
|
return (IPermission) result;
|
||||||
}
|
}
|
||||||
|
LogK.e("1111111111111111");
|
||||||
return null;
|
return null;
|
||||||
} catch (ClassNotFoundException e) {
|
} catch (ClassNotFoundException e) {
|
||||||
Log.e("Reflection", "PermissionUtils class not found", e);
|
Log.e("Reflection", "PermissionUtils class not found", e);
|
||||||
|
|
@ -52,6 +55,7 @@ public class PermissionUtils {
|
||||||
}
|
}
|
||||||
for (int i = 0; i < permissions.length; i++) {
|
for (int i = 0; i < permissions.length; i++) {
|
||||||
String permission = permissions[i];
|
String permission = permissions[i];
|
||||||
|
LogK.e("permission="+permission);
|
||||||
// 1. 尝试通过反射获取缓存的IPermission
|
// 1. 尝试通过反射获取缓存的IPermission
|
||||||
IPermission cachedPermission = invokeGetCachePermission(permission);
|
IPermission cachedPermission = invokeGetCachePermission(permission);
|
||||||
if (cachedPermission != null) {
|
if (cachedPermission != null) {
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,18 @@ android {
|
||||||
'proguard-rules-base.pro'
|
'proguard-rules-base.pro'
|
||||||
signingConfig signingConfigs.release
|
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"
|
flavorDimensions "versionCode"
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -1 +1 @@
|
||||||
4c5cf33d385d4e16ffaee60df20d8662
|
304826bd11e9614142ecd6345b5a6680
|
||||||
|
|
@ -1 +1 @@
|
||||||
ae2eb9e8c47dd62054b6b88f0b7d86e47c315982
|
0696947ead6e87bacf305f13922505aa927c0932
|
||||||
|
|
@ -1 +1 @@
|
||||||
553c671179f728ddb3f63cdfc0e033584eae2c9eb8cab1366f139c019858805c
|
36f3d8b6a99ff5b00a62b0dc0d87b1100a8425c3b3385446998fe7cfe93ac6d1
|
||||||
|
|
@ -1 +1 @@
|
||||||
c8d00f22d0d50f8cbd13197e9dd0cfcc4eb24d28ccc869fc4f3d490472abd28a26601e99ffae56f2ab39a0e7eb8735ec0b5d56ff86a9545d2f4b92063a2ab641
|
4a4c5bb3f49e44b95fc07bee60b9088c295a319b0bf2d868761d11a7d7068c1b6e45c7fc51ed34edbfccb1e43070b0675758f0ad8093f4d824fdf01753b35501
|
||||||
|
|
@ -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>20251120074307</lastUpdated>
|
<lastUpdated>20251120080338</lastUpdated>
|
||||||
</versioning>
|
</versioning>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
29a3a20468a28f11ed3d691175d07fd5
|
2e9274ee9bfe3ae9684d844f3f5e4f39
|
||||||
|
|
@ -1 +1 @@
|
||||||
2fed2a0fc960a1a4b7e76e0eefe8955699d1cb6c
|
383ccc9dc24b76213b99acadc58e972486e84339
|
||||||
|
|
@ -1 +1 @@
|
||||||
46fd4ad6a3d84235cacd954a9693a416cf66b4dfc4c88bd6d8abfc02828c05a2
|
8cda9377a8fd92e350167b3a6bf85354a2ff3aa3673c09cd522d8f5555eccd9d
|
||||||
|
|
@ -1 +1 @@
|
||||||
ac1d0f176b9d9822a4cbac760bf136524d7a2cc7f88be2123eba57189d0412dc6b319f17a486bc23cd15710c1f32a048971a83e7577efbd4c928c4baff8efa9b
|
e52c69c4171259a8989e2ed833809b696eae3ed2789d5792995592b64d684ba4949ca67d4af3649d00e44770c0b32ed69f60bdd8644e153fc1879419787c891c
|
||||||
Loading…
Reference in New Issue