public static void RequestPermissions(ManifestPermission manifestPermission)
 {
     using (AndroidJavaClass androidJavaClass = new AndroidJavaClass("jp.crooz.neptune.NpPermissionManager"))
     {
         using (AndroidJavaObject androidJavaObject = androidJavaClass.CallStatic <AndroidJavaObject>("getInstance", new object[0]))
         {
             androidJavaObject.Call("requestPermissions", new object[]
             {
                 (int)manifestPermission
             });
         }
     }
 }
        public static bool IsNormalPermission(this ManifestPermission permission)
        {
            switch (permission)
            {
            case ManifestPermission.ACCESS_LOCATION_EXTRA_COMMANDS:
            case ManifestPermission.ACCESS_NETWORK_STATE:
            case ManifestPermission.ACCESS_NOTIFICATION_POLICY:
            case ManifestPermission.ACCESS_WIFI_STATE:
            case ManifestPermission.ACCESS_WIMAX_STATE:
            case ManifestPermission.BLUETOOTH:
            case ManifestPermission.BLUETOOTH_ADMIN:
            case ManifestPermission.BROADCAST_STICKY:
            case ManifestPermission.CHANGE_NETWORK_STATE:
            case ManifestPermission.CHANGE_WIFI_MULTICAST_STATE:
            case ManifestPermission.CHANGE_WIFI_STATE:
            case ManifestPermission.CHANGE_WIMAX_STATE:
            case ManifestPermission.DISABLE_KEYGUARD:
            case ManifestPermission.EXPAND_STATUS_BAR:
            case ManifestPermission.FLASHLIGHT:
            case ManifestPermission.GET_PACKAGE_SIZE:
            case ManifestPermission.INTERNET:
            case ManifestPermission.KILL_BACKGROUND_PROCESSES:
            case ManifestPermission.MODIFY_AUDIO_SETTINGS:
            case ManifestPermission.NFC:
            case ManifestPermission.READ_SYNC_SETTINGS:
            case ManifestPermission.READ_SYNC_STATS:
            case ManifestPermission.RECEIVE_BOOT_COMPLETED:
            case ManifestPermission.REORDER_TASKS:
            case ManifestPermission.REQUEST_INSTALL_PACKAGES:
            case ManifestPermission.SET_TIME_ZONE:
            case ManifestPermission.SET_WALLPAPER:
            case ManifestPermission.SET_WALLPAPER_HINTS:
            case ManifestPermission.SUBSCRIBED_FEEDS_READ:
            case ManifestPermission.TRANSMIT_IR:
            case ManifestPermission.USE_FINGERPRINT:
            case ManifestPermission.VIBRATE:
            case ManifestPermission.WAKE_LOCK:
            case ManifestPermission.WRITE_SYNC_SETTINGS:
            case ManifestPermission.SET_ALARM:
            case ManifestPermission.INSTALL_SHORTCUT:
            case ManifestPermission.UNINSTALL_SHORTCUT:
                return(true);

            default:
                return(false);
            }
        }
        public static string GetFullName(this ManifestPermission permission)
        {
            string prefix = "android.permission.";

            switch (permission)
            {
            case ManifestPermission.SET_ALARM:
                prefix = "com.android.alarm.permission.";
                break;

            case ManifestPermission.INSTALL_SHORTCUT:
            case ManifestPermission.UNINSTALL_SHORTCUT:
                prefix = "com.android.launcher.permission.";
                break;

            case ManifestPermission.ADD_VOICEMAIL:
                prefix = "com.android.voicemail.permission.";
                break;
            }

            return(prefix + permission.ToString());
        }
예제 #4
0
 public ManifestPermission addPermission()
 {
     ManifestPermission perm = new ManifestPermission();
     permission.Add(perm);
     return perm;
 }
예제 #5
0
 public void OnGUI()
 {
     EditorGUILayout.BeginVertical();
     EditorGUILayout.BeginHorizontal();
     selected_permission_index = EditorGUILayout.Popup(selected_permission_index, Manifest.PermissionNames);
     if (GUILayout.Button("+", PositiveButton))
     {
         if (selected_permission_index >= 0)
         {
             ManifestPermission perm = new ManifestPermission();
             perm.name = Manifest.PermissionNames[selected_permission_index];
             permission.Add(perm);
             selected_permission_index = -1;
         }
     }
     EditorGUILayout.EndHorizontal();
     scroll_permissions = EditorGUILayout.BeginScrollView(scroll_permissions, GUILayout.Height(ListHeight));
     for (int i = 0; i < permission.Count; i++)
     {
         EditorGUILayout.BeginHorizontal("Box");
         if (GUILayout.Button("-", NegetiveButton))
         {
             selected_permission_index = -1;
             permission.RemoveAt(i);
             i--;
             continue;
         }
         EditorGUILayout.LabelField(permission[i].name);
         EditorGUILayout.EndHorizontal();
     }
     EditorGUILayout.EndScrollView();
     EditorGUILayout.EndVertical();
 }
예제 #6
0
 public void RequestPermissions(ManifestPermission manifestPermission, INpPermission listener)
 {
     this.mCallbackListener = listener;
     NpPermissionAndroid.RequestPermissions(manifestPermission);
 }