android中一些隐式意图使用

来源:互联网 发布:智慧城市五大数据库 编辑:程序博客网 时间:2024/06/05 18:13

要打开一个文件 ,可以向系统发送一个隐式意图,这样系统就会弹出能够处理该文件的程序,下面是部分代码:

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);