| | |
| | | |
| | | import android.app.Activity; |
| | | import android.content.pm.PackageManager; |
| | | import android.support.annotation.NonNull; |
| | | import android.support.v4.app.ActivityCompat; |
| | | import android.support.v4.content.ContextCompat; |
| | | import android.support.v4.content.PermissionChecker; |
| | | import androidx.annotation.NonNull; |
| | | import androidx.core.app.ActivityCompat; |
| | | import androidx.core.content.ContextCompat; |
| | | import androidx.core.content.PermissionChecker; |
| | | |
| | | import com.secondworld.sdk.utils.CallBackState; |
| | | import com.secondworld.sdk.utils.CodeA2U; |
| | | import com.secondworld.sdk.utils.RequestCode; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | |
| | | |
| | | public static PermissionManager I = new PermissionManager(); |
| | | |
| | | private static final int REQUEST_CODE = 9527; |
| | | |
| | | /** |
| | | * 查询是否有权限 |
| | | */ |
| | | public boolean hasPermission(String permission) { |
| | | return ContextCompat.checkSelfPermission(GameApp.I, permission) == PackageManager.PERMISSION_GRANTED |
| | | && PermissionChecker.checkSelfPermission(GameApp.I, permission) == PackageManager.PERMISSION_GRANTED; |
| | | return ContextCompat.checkSelfPermission(GameAppProxy.app, permission) == PackageManager.PERMISSION_GRANTED |
| | | && PermissionChecker.checkSelfPermission(GameAppProxy.app, permission) == PackageManager.PERMISSION_GRANTED; |
| | | } |
| | | |
| | | /** |
| | |
| | | public void requestPermissions(String permission) { |
| | | if (GameActivityProxy.I == null || GameActivityProxy.I.activity == null) |
| | | return; |
| | | ActivityCompat.requestPermissions(GameActivityProxy.I.activity, new String[]{permission}, REQUEST_CODE); |
| | | ActivityCompat.requestPermissions(GameActivityProxy.I.activity, new String[]{permission}, RequestCode.UNITY); |
| | | } |
| | | |
| | | |
| | | public void onRequestPermissionsResult(Activity activity, int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { |
| | | if (activity == null||permissions.length==0||requestCode!=REQUEST_CODE) |
| | | if (activity == null || permissions.length == 0 || requestCode != RequestCode.UNITY) |
| | | return; |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("permission",permissions[0]); |
| | | map.put("permission", permissions[0]); |
| | | if (hasPermission(permissions[0])) { |
| | | map.put("state", CallBackState.Success); |
| | | } else { |