主要通过PackageManager中的方法
代码:
public class InstallApps extends ListActivity {
HashMap<String, String[]> map=new HashMap<String, String[]>();
List<String> packagelist=new ArrayList<String>();
List<String> systemApp=new ArrayList<String>();
protected void onCreate( savedInstanceState) {
(savedInstanceState);
PackageManager pm=getPackageManager();
//List<PackageInfo> mPackageinfo= (PackageManager.GET_PERMISSIONS);
Intent query=new Intent(Intent.ACTION_MAIN);
("");
List<ResolveInfo> resolves= (query, PackageManager.GET_ACTIVITIES);
for (int i = 0; i < (); i++) {
ResolveInfo info= (i);
/ /判断是否为系统级应用
if((&ApplicationInfo.FLAG_SYSTEM)<=0){
/*安装的应用*/
String packagename=(pm).toString();
String[] permission;
try {
permission = (, PackageManager.GET_PERMISSIONS).requestedPermissions;//获取权限列表
(packagename);
(packagename, permission);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
();
}
} else{
/*系统应用*/
String packagename=(pm).toString();
String[] permission;
try {
permission = (, PackageManager.GET_PERMISSIONS).requestedPermissions;//获取权限列表
(packagename);
(packagename, permission);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
();
}
}
}
/* 判断是否属于系统应用
for (int i = 0; i < (); i++) {
PackageInfo info=(i);
if((&ApplicationInfo.FLAG_SYSTEM)<=0){
String packagename=(pm).toString();
String[] permission= ;
(packagename);
(packagename, permission);
} else{
String packagename=(pm).toString();
String[] permission= ;
(packagename);
(packagename, permission);
}
}*/
(systemApp);
getListView().setAdapter(new ArrayAdapter<String>(this, .simple_list_item_1, packagelist));
getListView().setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
// TODO Auto-generated method stub
String[]permission=((position));
StringBuilder sb=new StringBuilder();
for (int i = 0; i < ; i++) {
("权限"+permission[i]+"\n");
}
(getApplicationContext(), sb,Toast.LENGTH_LONG ).show();
}
});
};
}