android 根据apk获取其包名,并根据包名启动app


//根据apk获取应用包名
private void getApkInfo(){PackageManager pm = this.getPackageManager();
    String path= Environment.getExternalStorageDirectory()+"/demo.apk";//apk保存路径(sd卡根目录下)

PackageInfo info = pm.getPackageArchiveInfo(path, PackageManager.GET_ACTIVITIES);
ApplicationInfo appInfo = null;   if (info != null) { appInfo = info.applicationInfo; name = appInfo.packageName;//此为apk包名 }}

//根据包名启动app
public void startAPP(String appPackageName){try{Intent intent = this.getPackageManager().getLaunchIntentForPackage(appPackageName);
        startActivity(intent);        
    }catch(Exception e){Toast.makeText(this, "没有安装", Toast.LENGTH_LONG).show();
    }
}