上次的获取权限信息的Demo略显繁琐,优化了一下,使用系统接口PermissionInfo获取常见的权限描述,如果是对系统不可知的权限,我们在自定义。另外自定义的权限信息函数也从if else语句换成了swithc case语句,虽然还是一大堆,但是看起来结构更清晰一些:
package com.zms.getpermission;
import android.app.ListActivity;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.PermissionGroupInfo;
import android.content.pm.PermissionInfo;
import android.content.pm.ResolveInfo;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
* Created by AlexZhou on 2015/1/27.
* 8:48
*/
public class Main extends ListActivity {
HashMap<String, String[]> hashMap = new HashMap<String, String[]>();
List<String> dataAppList = new ArrayList<String>();
List<String> systemAppList = new ArrayList<String>();
protected void onCreate(android.os.Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PackageManager pm = getPackageManager();
Intent query = new Intent(Intent.ACTION_MAIN);
query.addCategory("android.intent.category.LAUNCHER");
List<ResolveInfo> resolves = pm.queryIntentActivities(query, PackageManager.GET_ACTIVITIES);
dataAppList.add(""); // take up the position, refresh it after getting dataApp size
for (int i = 0; i < resolves.size(); i++) {
ResolveInfo resolveInfo = resolves.get(i);
String packageName = resolveInfo.loadLabel(pm).toString();
String[] permission;
try {
// get permission list
permission = pm.getPackageInfo(resolveInfo.activityInfo.packageName,
PackageManager.GET_PERMISSIONS).requestedPermissions;
// app is system app ?
if (isSystemApp(resolveInfo)) {
systemAppList.add(packageName);
} else {
dataAppList.add(packageName);
}
hashMap.put(packageName, permission);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
}
dataAppList.set(0, "===== Data Apps(" + dataAppList.size() + ") =====");
dataAppList.add("");
dataAppList.add("===== System Apps(" + systemAppList.size() + ") =====");
dataAppList.addAll(systemAppList);
getListView().setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,
dataAppList));
getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
String[] permission = hashMap.get(dataAppList.get(position));
StringBuilder stringBuilder = new StringBuilder();
try {
for (int i = 0; i < permission.length; i++) {
stringBuilder.append(getPermissionDetailSys(permission[i]) + "\n");
}
Intent intent = new Intent(Main.this, ShowPermission.class);
intent.putExtra("strPermission", dataAppList.get(position) + " has " +
permission.length + " Permission(s):\n\n" + stringBuilder);
startActivity(intent);
} catch (Exception e) {
// ToDo:Handle Exception
}
}
});
}
private boolean isSystemApp(ResolveInfo resolveInfo) {
if ((resolveInfo.activityInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) <= 0) {
return false;
} else {
return true;
}
}
/**
* use system func to get normal permission info
*
* @param permissionName
* @return string
*/
public String getPermissionDetailSys(String permissionName) {
String strPermissionInfo = "";
try {
PackageManager pm = Main.this.getPackageManager();
// get permission info by name
PermissionInfo permissionInfo = pm.getPermissionInfo(permissionName, 0);
// get permission group
PermissionGroupInfo permissionGroupInfo = pm.getPermissionGroupInfo(
permissionInfo.group, 0);
strPermissionInfo = "[" + permissionGroupInfo.loadLabel(pm).toString() + "] " +
permissionInfo.loadLabel(pm).toString() + ":\n" +
permissionInfo.loadDescription(pm).toString() + "\n";
} catch (PackageManager.NameNotFoundException e) {
// use our func if permission info not matched
return getPermissionDetail(permissionName) + "\n";
}
return strPermissionInfo;
}
/**
* if getPermissionDetailSys() is execute catch part, this func will run
*
* @param strPermission
* @return description of permission, or permission name if not matched.
*/
public String getPermissionDetail(String strPermission) {
switch (strPermission) {
/***** A *****/
case "android.permission.ACCESS_ALL_DOWNLOADS":
return getResources().getString(R.string.ACCESS_ALL_DOWNLOADS);
case "android.permission.ACCESS_CACHE_FILESYSTEM":
return getResources().getString(R.string.ACCESS_CACHE_FILESYSTEM);
case "android.permission.ACCESS_CHECKIN_PROPERTIES":
return getResources().getString(R.string.ACCESS_CHECKIN_PROPERTIES);
case "android.permission.ACCESS_COARSE_LOCATION":
return getResources().getString(R.string.ACCESS_COARSE_LOCATION);
case "android.permission.ACCESS_COARSE_UPDATES":
return getResources().getString(R.string.ACCESS_COARSE_UPDATES);
case "android.permission.ACCESS_DOWNLOAD_MANAGER":
return getResources().getString(R.string.ACCESS_DOWNLOAD_MANAGER);
case "android.permission.ACCESS_DRM":
return getResources().getString(R.string.ACCESS_DRM);
case "android.permission.ACCESS_FINE_LOCATION":
return getResources().getString(R.string.ACCESS_FINE_LOCATION);
case "android.permission.ACCESS_GPS":
return getResources().getString(R.string.ACCESS_GPS);
case "android.permission.ACCESS_LOCATION":
return getResources().getString(R.string.ACCESS_LOCATION);
case "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS":
return getResources().getString(R.string.ACCESS_LOCATION_EXTRA_COMMANDS);
case "android.permission.ACCESS_MOCK_LOCATION":
return getResources().getString(R.string.ACCESS_MOCK_LOCATION);
case "android.permission.ACCESS_NETWORK_STATE":
return getResources().getString(R.string.ACCESS_NETWORK_STATE);
case "android.permission.ACCESS_SURFACE_FLINGER":
return getResources().getString(R.string.ACCESS_SURFACE_FLINGER);
case "android.permission.ACCESS_SUPERUSER":
return getResources().getString(R.string.ACCESS_SUPERUSER);
case "android.permission.ACCESS_WIFI_STATE":
return getResources().getString(R.string.ACCESS_WIFI_STATE);
case "android.permission.ACCOUNT_MANAGER":
return getResources().getString(R.string.ACCOUNT_MANAGER);
case "com.android.settings.permission.ALLSHARE_CAST_SERVICE":
return getResources().getString(R.string.ALLSHARE_CAST_SERVICE);
case "android.permission.AUTHENTICATE_ACCOUNTS":
return getResources().getString(R.string.AUTHENTICATE_ACCOUNTS);
/***** B *****/
case "android.permission.BATTERY_STATS":
return getResources().getString(R.string.BATTERY_STATS);
case "com.android.vending.BILLING":
return getResources().getString(R.string.BILLING);
case "android.permission.BIND_APPWIDGET":
return getResources().getString(R.string.BIND_APPWIGET);
case "android.permission.BIND_DEVICE_ADMIN":
return getResources().getString(R.string.BIND_DEVICE_ADMIN);
case "android.permission.BIND_INPUT_METHOD":
return getResources().getString(R.string.BIND_INPUT_METHOD);
case "android.permission.BIND_WALLPAPER":
return getResources().getString(R.string.BIND_WALLPAPER);
case "android.permission.BLUETOOTH":
return getResources().getString(R.string.BLUETOOTH);
case "android.permission.BLUETOOTH_ADMIN":
return getResources().getString(R.string.BULETOOTH_ADMIN);
case "android.permission.BRICK ":
return getResources().getString(R.string.BRICK);
case "android.permission.BROADCAST_PACKAGE_REMOVED":
return getResources().getString(R.string.BROADCAST_PACKAGE_REMOVED);
case "android.permission.BROADCAST_SMS":
return getResources().getString(R.string.BROADCAST_SMS);
case "android.permission.BROADCAST_STICKY":
return getResources().getString(R.string.BROADCAST_STICKY);
/***** C *****/
case "android.permission.CALL_PHONE":
return getResources().getString(R.string.CALL_PHONE);
case "android.permission.CALL_PRIVILEGED":
return getResources().getString(R.string.CALL_PRIVILEGED);
case "android.permission.CAMERA":
return getResources().getString(R.string.CAMERA);
case "android.permission.CHANGE_COMPONENT_ENABLED_STATE":
return getResources().getString(R.string.CHANGE_COMPONENT_ENABLED_STATE);
case "android.permission.CHANGE_CONFIGURATION":
case "Android.permission.CHANGE_CONFIGURATION":
return getResources().getString(R.string.CHANGE_CONFIGURATION);
case "android.permission.CHANGE_NETWORK_STATE":
return getResources().getString(R.string.CHANGE_NETWORK_STATE);
case "android.permission.CHANGE_WIFI_MULTICAST_STATE":
return getResources().getString(R.string.CHANGE_WIFIMULTICAST_STATE);
case "android.permission.CHANGE_WIFI_STATE":
return getResources().getString(R.string.CHANGE_WIFI_STATE);
case "com.android.vending.CHECK_LICENSE":
return getResources().getString(R.string.CHECK_LICENSE);
case "android.permission.CLEAR_APP_CACHE":
return getResources().getString(R.string.CLEAR_APP_CACHE);
case "android.permission.CLEAR_APP_USER_DATA":
return getResources().getString(R.string.CLEAR_APP_USER_DATA);
case "android.permission.CONTROL_LOCATION_UPDATES":
return getResources().getString(R.string.CONTROL_LOCATION_UPDATES);
case "com.android.launcher.permission.CREATE_SHORTCUT":
return getResources().getString(R.string.CREATE_SHORTCUT);
/***** D *****/
case "android.permission.DELETE_CACHE_FILES":
return getResources().getString(R.string.DELETE_CACHE_FILES);
case "android.permission.DELETE_PACKAGES":
return getResources().getString(R.string.DLEETE_PACKAGES);
case "android.permission.DEVICE_POWER":
return getResources().getString(R.string.DEVICE_POWER);
case "android.permission.DIAGNOSTIC":
return getResources().getString(R.string.DIAGNOSTIC);
case "android.permission.DISABLE_KEYGUARD":
return getResources().getString(R.string.DISABLE_KEYGUARD);
case "android.permission.DUMP":
return getResources().getString(R.string.DUMP);
case "android.permission.DOWNLOAD_WITHOUT_NOTIFICATION":
return getResources().getString(R.string.DOWNLOAD_WITHOUT_NOTIFICATION);
/***** E *****/
case "android.permission.EXPAND_STATUS_BAR":
return getResources().getString(R.string.EXPAND_STATUS_BAR);
/***** F *****/
case "android.permission.FACTORY_TEST":
return getResources().getString(R.string.FACTORY_TEST);
case "android.permission.FLASHLIGHT":
return getResources().getString(R.string.FLSHLIGHT);
case "android.permission.FORCE_BACK":
return getResources().getString(R.string.FORCE_BACK);
/***** G *****/
case "android.permission.GET_ACCOUNTS":
return getResources().getString(R.string.GET_ACCOUNTS);
case "android.permission.GET_PACKAGE_SIZE":
return getResources().getString(R.string.GET_PACKAGE_SIZE);
case "android.permission.GET_TASKS":
return getResources().getString(R.string.GET_TASKS);
case "android.permission.GLOBAL_SEARCH":
return getResources().getString(R.string.GLBOAL_SEARCH);
/***** H *****/
case "android.permission.HARDWARE_TEST ":
return getResources().getString(R.string.HARDWARE_TEST);
/***** I *****/
case "android.permission.INJECT_EVENTS":
return getResources().getString(R.string.INJECT_EVENTS);
case "android.permission.INSTALL_PERMISSION":
return getResources().getString(R.string.INSTALL_PERMISSION);
case "android.permission.INSTALL_LOCATION_PROVIDER":
return getResources().getString(R.string.INSTALL_LOCATION_PROVIDER);
case "android.permission.INSTALL_PACKAGES":
return getResources().getString(R.string.INSTALL_PCAKAGES);
case "com.android.launcher.permission.INSTALL_SHORTCUT":
return getResources().getString(R.string.LAUNCHER_INSTALL_SHORTCUT);
case "android.permission.INTERACT_ACROSS_USERS":
return getResources().getString(R.string.INTERACT_ACROSS_USERS);
case "android.permission.INTERACT_ACROSS_USERS_FULL":
return getResources().getString(R.string.INTERACT_ACROSS_USERS_FULL);
case "android.permission.INTERNAL_SYSTEM_WINDOW":
return getResources().getString(R.string.INTERNAL_SYSTEM_WINDOW);
case "android.permission.INTERNET":
return getResources().getString(R.string.INTERNET);
/***** K *****/
case "android.permission.KILL_BACKGROUND_PROCESSES":
return getResources().getString(R.string.KILL_BACKGROUND_PROCESSES);
/***** M *****/
case "android.permission.MANAGE_ACCOUNTS":
return getResources().getString(R.string.MANAGE_ACCOUNTS);
case "android.permission.MANAGE_APP_TOKENS":
return getResources().getString(R.string.MANAGE_APP_TOKENS);
case "android.permission.MANAGE_DOCUMENTS":
return getResources().getString(R.string.MANAGE_DOCUMENTS);
case "android.permission.MANAGE_NETWORK_POLICY":
return getResources().getString(R.string.MANAGE_NETWORK_POLICY);
case "android.permission.MASTER_CLEAR":
return getResources().getString(R.string.MASTER_CLEAR);
case "android.permission.MODIFY_AUDIO_SETTINGS":
return getResources().getString(R.string.MODIFY_AUDIO_SETTINGS);
case "android.permission.MODIFY_PHONE_STATE":
return getResources().getString(R.string.MODIFY_PHONE_STATE);
case "android.permission.MOUNT_FORMAT_FILESYSTEMS":
return getResources().getString(R.string.MOUNT_FORMAT_FILESYSTEMS);
case "android.permission.MOUNT_UNMOUNT_FILESYSTEMS":
return getResources().getString(R.string.MOUNT_UNMOUNT_FILESYSTEMS);
/***** N *****/
case "android.permission.NFC":
return getResources().getString(R.string.NFC);
/***** P *****/
case "android.permission.PERSISTENT_ACTIVITY":
return getResources().getString(R.string.PERSISTENT_ACTIVITY);
case "android.permission.PROCESS_OUTGOING_CALLS":
return getResources().getString(R.string.PROCESS_OUTGOING_CALLS);
/***** R *****/
case "android.permission.RAISED_THREAD_PRIORITY":
return getResources().getString(R.string.RAISED_THREAD_PRIORITY);
case "android.permission.READ_CALL_LOG":
return getResources().getString(R.string.READ_CALL_LOG);
case "android.permission.READ_CALENDAR":
return getResources().getString(R.string.READ_CALENDAR);
case "android.permission.READ_CONTACTS":
return getResources().getString(R.string.READ_CONTACTS);
case "android.permission.READ_FRAME_BUFFER":
return getResources().getString(R.string.READ_FRAME_BUFFER);
case "android.permission.READ_HISTORY_BOOKMARKS":
return getResources().getString(R.string.READ_HISTORY_BOOKMARKS);
case "com.android.browser.permission.READ_HISTORY_BOOKMARKS":
return getResources().getString(R.string.READ_HISTORY_BOOKMARKS);
case "android.permission.READ_INPUT_STATE":
return getResources().getString(R.string.READ_INPUT_STATE);
case "android.permission.READ_LOGS":
return getResources().getString(R.string.READ_LOGS);
case "android.permission.READ_OWNER_DATA":
return getResources().getString(R.string.READ_OWNER_DATA);
case "android.permission.READ_PHONE_STATE":
return getResources().getString(R.string.READ_PHONE_STATE);
case "android.permission.READ_PROFILE":
return getResources().getString(R.string.READ_PROFILE);
case "com.android.launcher.permission.READ_SETTINGS":
case "com.android.launcher2.permission.READ_SETTINGS":
case "com.android.launcher3.permission.READ_SETTINGS":
return getResources().getString(R.string.LAUNCHER_READ_SETTINGS);
case "android.permission.READ_SETTINGS":
return getResources().getString(R.string.READ_SETTINGS);
case "android.permission.READ_SMS":
return getResources().getString(R.string.READ_SMS);
case "android.permission.READ_SYNC_SETTINGS":
return getResources().getString(R.string.READ_SYNC_SETTINGS);
case "android.permission.READ_SYNC_STATS":
return getResources().getString(R.string.READ_SYNC_STATS);
case "android.permission.REBOOT":
return getResources().getString(R.string.REBOOT);
case "com.google.android.c2dm.permission.RECEIVE":
return getResources().getString(R.string.C2DM_RECEIVE);
case "android.permission.RECEIVE_BOOT_COMPLETED":
return getResources().getString(R.string.RECEIVE_BOOT_COMPLETED);
case "android.permission.RECEIVE_MMS":
return getResources().getString(R.string.RECEIVE_MMS);
case "android.permission.RECEIVE_USER_PRESENT":
return getResources().getString(R.string.RECEIVE_USER_PRESENT);
case "android.permission.RECEIVE_SMS":
return getResources().getString(R.string.RECEIVE_SMS);
case "android.permission.RECEIVE_WAP_PUSH":
return getResources().getString(R.string.RECEIVE_WAP_PUSH);
case "android.permission.RECORD_AUDIO":
return getResources().getString(R.string.RECORD_AUDIO);
case "android.permission.REORDER_TASKS":
return getResources().getString(R.string.REORDER_TASKS);
case "android.permission.RESTART_PACKAGES":
return getResources().getString(R.string.RESTART_PACKAGES);
case "android.permission.READ_EXTERNAL_STORAGE":
return getResources().getString(R.string.READ_EXTERNAL_STORAGE);
case "android.permission.READ_SECURE_SETTINGS":
return getResources().getString(R.string.READ_SECURE_SETTINGS);
case "android.permission.READ_SOCIAL_STREAM":
return getResources().getString(R.string.READ_SOCIAL_STREAM);
case "android.permission.RUN_INSTRUMENTATION":
return getResources().getString(R.string.RUN_INSTRUMENTATION);
/***** S *****/
case "android.permission.SEND_SMS":
return getResources().getString(R.string.SEND_SMS);
case "android.permission.SEND_SMS_NO_CONFIRMATION":
return getResources().getString(R.string.SEND_SMS_NO_CONFIRMATION);
case "android.permission.STOP_APP_SWITCHES":
return getResources().getString(R.string.STOP_APP_SWITCHES);
case "com.android.alarm.permission.SET_ALARM":
return getResources().getString(R.string.SET_ALARM);
case "android.permission.SET_ACTIVITY_WATCHER":
return getResources().getString(R.string.SET_ACTIVITY_WATHCER);
case "android.permission.SET_ALWAYS_FINISH":
return getResources().getString(R.string.SET_ALWAYS_FINISH);
case "android.permission.SET_ANIMATION_SCALE":
return getResources().getString(R.string.SET_ANIMATION_SCALE);
case "android.permission.SET_DEBUG_APP":
return getResources().getString(R.string.SET_DEBUG_APP);
case "android.permission.SET_ORIENTATION":
return getResources().getString(R.string.SET_ORIENTATION);
case "android.permission.SET_PROCESS_LIMIT":
return getResources().getString(R.string.SET_PROCESS_LIMIT);
case "android.permission.SET_TIME":
return getResources().getString(R.string.SET_TIME);
case "android.permission.SET_TIME_ZONE":
return getResources().getString(R.string.SET_TIME_ZONE);
case "android.permission.SET_WALLPAPER":
return getResources().getString(R.string.SET_WALLPAPER);
case "android.permission.SET_WALLPAPER_HINTS":
return getResources().getString(R.string.SET_WALLPAPER_HINTS);
case "android.permission.SET_PREFERRED_APPLICATIONS":
return getResources().getString(R.string.SET_PREFERRED_APPLICATIONS);
case "android.permission.SIGNAL_PERSISTENT_PROCESSES":
return getResources().getString(R.string.SIGNAL_PERSISTENT_PROCESSES);
case "android.permission.START_BACKGROUND_SERVICE":
return getResources().getString(R.string.START_BACKGROUND_SERVICE);
case "android.permission.STATUS_BAR":
return getResources().getString(R.string.STATUS_BAR);
case "android.permission.SUBSCRIBED_FEEDS_READ":
return getResources().getString(R.string.SUBSCRIBED_FEEDS_READ);
case "android.permission.SUBSCRIBED_FEEDS_WRITE":
return getResources().getString(R.string.SUBSRIBED_FEEDS_WRITE);
case "android.permission.SYSTEM_ALERT_WINDOW":
return getResources().getString(R.string.SYSYTEM_ALERT_WINDOW);
case "android.permission.SYSTEM_OVERLAY_WINDOW":
return getResources().getString(R.string.SYSTEM_OVERLAY_WINDOW);
/***** U *****/
case "android.permission.UPDATE_DEVICE_STATS":
return getResources().getString(R.string.UPDATE_DEVICE_STATS);
case "android.permission.USE_CREDENTIALS":
return getResources().getString(R.string.USE_CREDENTIALS);
case "com.android.launcher.permission.UNINSTALL_SHORTCUT":
return getResources().getString(R.string.LAUNCHER_UNINSTALL_SHORTCUT);
/***** V *****/
case "android.permission.VIBRATE":
return getResources().getString(R.string.VIBRATE);
/***** W *****/
case "com.android.launcher.permission.WRITE_SETTINGS":
return getResources().getString(R.string.LAUNCHER_WRITE_SETTINGS);
case "android.permission.WAKE_LOCK":
return getResources().getString(R.string.WAKE_LOCK);
case "android.permission.WAP_PUSH":
return getResources().getString(R.string.WAP_PUSH);
case "android.permission.WRITE_APN_SETTINGS":
return getResources().getString(R.string.WRITE_APN_SETTINGS);
case "android.permission.WRITE_CALENDAR":
return getResources().getString(R.string.WRITE_CALENDAR);
case "android.permission.WRITE_CALL_LOG":
return getResources().getString(R.string.WRITE_CALL_LOG);
case "android.permission.WRITE_CONTACTS":
return getResources().getString(R.string.WRITE_CONTACTS);
case "android.permission.WRITE_EXTERNAL_STORAGE":
return getResources().getString(R.string.WRITE_EXTERNAL_STORAGE);
case "android.permission.WRITE_GSERVICES":
return getResources().getString(R.string.WRITE_GSERVICES);
case "android.permission.WRITE_HISTORY_BOOKMARKS":
case "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS":
return getResources().getString(R.string.WRITE_HISTORY_BOOKMARKS);
case "android.permission.WRITE_INTERNAL_STORAGE":
return getResources().getString(R.string.WRITE_INTERNAL_STORAGE);
case "android.permission.WRITE_OWNER_DATA":
return getResources().getString(R.string.WRITE_OWNER_DATA);
case "android.permission.WRITE_PROFILE":
return getResources().getString(R.string.WRITE_PROFILE);
case "android.permission.WRITE_SECURE_SETTINGS":
return getResources().getString(R.string.WRITE_SECURE_SETTINGS);
case "android.permission.WRITE_SETTINGS":
return getResources().getString(R.string.WRITE_SETTINGS);
case "android.permission.WRITE_SMS":
return getResources().getString(R.string.WRITE_SMS);
case "android.permission.WRITE_SYNC_SETTINGS":
return getResources().getString(R.string.WRITE_SYNC_SETTINGS);
case "android.permission.WRITE_MEDIA_STORAGE":
return getResources().getString(R.string.WRITE_MEDIA_STORAGE);
/***** ToOrder *****/
case "android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS":
return getResources().getString(R.string.SEND_DOWNLOAD_COMPLETED_INTENTS);
case "android.permission.RECORD_VIDEO":
return getResources().getString(R.string.RECORD_VIDEO);
case "android.permission.UPDATE_APP_OPS_STATS":
return getResources().getString(R.string.UPDATE_APP_OPS_STATS);
case "android.permission.ACCESS_DEV_STORAGE":
return getResources().getString(R.string.ACCESS_DEV_STORAGE);
case "android.permission.MANAGE_DEVICE_ADMINS":
return getResources().getString(R.string.MANAGE_DEVICE_ADMINS);
case "android.permission.ACCESS_NOTIFICATIONS":
return getResources().getString(R.string.ACCESS_NOTIFICATIONS);
case "android.permission.ACCESS_WIMAX_STATE":
return getResources().getString(R.string.ACCESS_WIMAX_STATE);
case "android.permission.CHANGE_WIMAX_STATE":
return getResources().getString(R.string.CHANGE_WIMAX_STATE);
case "android.permission.FORCE_STOP_PACKAGES":
return getResources().getString(R.string.FORCE_STOP_PACKAGES);
case "android.permission.PACKAGE_USAGE_STATS":
return getResources().getString(R.string.PACKAGE_USAGE_STATS);
case "android.permission.MOVE_PACKAGE":
return getResources().getString(R.string.MOVE_PACKAGE);
case "android.permission.BACKUP":
return getResources().getString(R.string.BACKUP);
case "android.permission.MANAGE_USB":
return getResources().getString(R.string.MANAGE_USB);
case "android.permission.SET_POINTER_SPEED":
return getResources().getString(R.string.SET_POINTER_SPEED);
case "android.permission.SET_KEYBOARD_LAYOUT":
return getResources().getString(R.string.SET_KEYBOARD_LAYOUT);
case "android.permission.MANAGE_USERS":
return getResources().getString(R.string.MANAGE_USERS);
case "android.permission.CONFIGURE_WIFI_DISPLAY":
return getResources().getString(R.string.CONFIGURE_WIFI_DISPLAY);
/***** Other *****/
default:
return strPermission;
}
}
}
转载请注明出处:周木水的CSDN博客 http://blog.csdn.net/zhoumushui
我的GitHub:周木水的GitHub https://github.com/zhoumushui
Android获取安装应用所需权限(二)使用PermissionInfo
原文地址:http://blog.csdn.net/zhoumushui/article/details/43266195