android - 从 packageinfo 开始 Activity

标签 android android-intent

有没有办法从 packageinfo 运行一个 intent?我一直在寻找,但没有找到。

我试过了

Intent i = new Intent(); 
i.setAction(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_LAUNCHER);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
i.setComponent(new ComponentName(p.applicationInfo.packageName,p.applicationInfo.name));
startActivity(i);

但它不起作用,因为 p.applicationInfo.name 始终为 null。

最佳答案

以下代码对我使用 SDK 8.18 有效

假设“p”是您的 PackageInfo

ApplicationInfo appInfo = p.applicationInfo;

String packageName = appInfo.packageName;

startIntent = getPackageManager().getLaunchIntentForPackage(packageName);

if(startIntent != null){
    startActivity(startIntent);
}

关于android - 从 packageinfo 开始 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2300884/

相关文章:

android - 关于从 URL 启动 Android 应用程序

android - 按下后退时不返回父 Activity

android - 如何在总线上自动/注销自定义 View (来自 xml)

android - 无法编译我的 Android 项目

android - 如何为使用 Action_View Intent 调用的默认视频播放器禁用 onbackpressed()

java - 我应该在哪里设置逻辑以正确更新我的小部件?

Android:将接口(interface)放入 Intent

android - calabash-android 旋转 : how to rotate in calabash-android v0. 5

c# - Android/C# - 我的套接字不会发送/收听

java - Android:让应用程序通过网络(在其他手机上)向另一个应用程序发送请求