gpt4 book ai didi

android - 无法使用 getLaunchIntentForPackage() 启动相机

转载 作者:行者123 更新时间:2023-11-30 03:51:34 29 4
gpt4 key购买 nike

我现在正在编写自己的 android 启动器,到目前为止它似乎运行良好。我可以启动除相机之外的所有应用程序。

我正在创建一个新的 Intent :

Intent intent = context.getPackageManager().getLaunchIntentForPackage("com.android.camera");

并且 Intent 不是null。但是当我开始 Intent 时

context.startActivity(intent)

我的应用程序崩溃了。登录目录:

12-28 17:18:43.711: I/Launch(4166): Intent { act=android.intent.action.MAIN flg=0x10000000 cmp=com.android.camera/com.android.internal.app.ResolverActivity }
12-28 17:18:43.711: D/AndroidRuntime(4166): Shutting down VM
12-28 17:18:43.711: W/dalvikvm(4166): threadid=1: thread exiting with uncaught exception (group=0x4001d5a0)
12-28 17:18:43.731: E/AndroidRuntime(4166): FATAL EXCEPTION: main
12-28 17:18:43.731: E/AndroidRuntime(4166): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.android.camera/com.android.internal.app.ResolverActivity}; have you declared this activity in your AndroidManifest.xml?

我知道我可以用

Intent intent = new Intent();
intent.setCompomponent(new ComponentName(args));

但我不知道我可以使用哪些参数来启动不同的应用程序。

该解决方案应该适用于每个包名称,而不是使用特殊的 cameraIntent。

希望大家帮忙!

最佳答案

尝试使用 getInstalledPackages:

PackageManager pm = getPackageManager();  
// PackageManager
List<PackageInfo> packs = pm
.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);
ArrayList<String> arrpackname=new ArrayList<String>();
for (PackageInfo pi : packs) {

if(pi.packageName.toLowerCase().contains("camera") &&
pi.packageName.toLowerCase().contains("android") ){

Intent intent = pm.getLaunchIntentForPackage(pi.packageName);

if (intent != null)
startActivity(intent);

}
}

或者您可以尝试:

Intent mIntent = new Intent();

ComponentName comp = new ComponentName("com.android.camera",
"com.android.camera.Camera");

mIntent.setComponent(comp);
mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mIntent.setFlags(Intent.FLAG_FROM_BACKGROUND);

mIntent.setAction("android.intent.action.VIEW");

startActivity(mIntent);

关于android - 无法使用 getLaunchIntentForPackage() 启动相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14073351/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com