私は今、自分の android-launcher を書いていますが、今のところ問題なく動作しているようです。カメラ以外のすべてのアプリケーションを起動できます。
新しいインテントを作成しています:
Intent intent = context.getPackageManager().getLaunchIntentForPackage("com.android.camera");
そして意図はそうではありませんnull
。しかし、インテントを開始すると
context.startActivity(intent)
アプリケーションがクラッシュします。LogCat:
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 を使用せずに、すべてのパッケージ名で機能するはずです。
誰でも助けてくれることを願っています!