Android判断应用是否存在 及 Android 关闭整个应用程序

通过包名判断

    public boolean checkBrowser(String packageName) {
        if (packageName == null || "".equals(packageName))
            return false;
        try {
            ApplicationInfo info = getPackageManager().getApplicationInfo(
                    packageName, PackageManager.GET_UNINSTALLED_PACKAGES);
            return true;
        } catch (NameNotFoundException e) {
            return false;
        }
    }



判断包中的Activity


        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setClassName("com.android.settings", //$NON-NLS-1$

                "com.android.settings.InstalledAppDetails"); //$NON-NLS-1$

        intent.putExtra("com.android.settings.ApplicationPkgName", //$NON-NLS-1$

                mCurrentPkgName);
        List<ResolveInfo> acts = getPackageManager().queryIntentActivities(
                intent, 0);
        if (acts.size() > 0) {
            startActivity(intent);
        } else {
            Toast.makeText(this,
                    getString(R.string.failed_to_resolve_activity),
                    Toast.LENGTH_SHORT).show();
        }



Android 关闭整个应用程序


当应用不再使用时,通常需要关闭应用,可以使用以下方法关闭android应用: 

第一种方法:首先获取当前进程的id,然后杀死该进程。 
android.os.Process.killProcess(android.os.Process.myPid()) 

第二种方法:终止当前正在运行的Java虚拟机,导致程序终止 
System.exit(0); 

第三种方法:强制关闭与该包有关联的一切执行 
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);    
manager.restartPackage(getPackageName()); 
<uses-permission android:name="android.permission.RESTART_PACKAGES" /> 

你可能感兴趣的:(Android判断应用是否存在 及 Android 关闭整个应用程序)