要打开一个文件 ,可以向系统发送一个隐式意图,这样系统就会弹出能够处理该文件的程序,下面是部分代码:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
String type = Utils.getType(selectedFile);
intent.setDataAndType(Uri.fromFile(selectedFile), type);
PackageManager packageManager = getPackageManager();
List<ResolveInfo> queryIntentActivities = packageManager.queryIntentActivities(intent, PackageManager.GET_ACTIVITIES);
if(queryIntentActivities.size()>0){
startActivity(intent);
System.out.println(queryIntentActivities.size());
}
卸载程序使用隐式意图:
Intent intent = new Intent(Intent.ACTION_DELETE);
intent.setData(Uri.fromParts("package",String packagename , null));
startActivity(intent,1);
卸载程序需要使用权限:
android.permission.KILL_BACKGROUND_PROCESSES
使用隐式意图打开程序:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClassName(
String packageName,
String classname);
startActivity(intent);
通过ActivityManager可以停止运行中的程序方法:
mActMgr.restartPackage(String packagename);
使用权限:
android.permission.RESTART_PACKAGES
使用 ActivityManager可以获得正在运行的进程,方法:
getRunningAppProcesses
获取系统已经安装的程序:
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
mApps = mPackageMgr.queryIntentActivities(intent, 0);