仅使用包名从另一个应用程序启动活动

teo*_*tik 2 android

我想Activity从我开始另一个应用程序Activity,但所有信息,我只有该应用程序包的名称.我这样做:

Intent intent = new Intent();
intent.setPackage(anotherApplicationPackageName);
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

据我所知,使用这个API,Android会寻找一个Activity,可以Intent在给定的包内处理这个,但我总是得到ActivityNotFoundException.

问题是我做错了什么?

use*_*990 8

    PackageManager  pmi = getPackageManager();
    Intent intent = null;

intent = pmi.getLaunchIntentForPackage(packageNameToLaunch);                    
if (intent != null){
    startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)