我被写来运行简单的 android 相机应用程序以在 android 4 上运行它。
该代码最初将相机意图定义为
Intent cameraIntent = new Intent();
cameraIntent.setType(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
当我尝试运行此应用程序时,它抛出异常:-
07-07 12:44:09.755: E/AndroidRuntime(11533): android.content.ActivityNotFoundException: 没有找到处理 Intent { typ=android.media.action.IMAGE_CAPTURE } 的活动
但是,当我尝试通过如下定义“cameraIntent”来运行相同的程序时,它运行良好 -
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
我认为通过 setter 或通过构造函数将“动作”传递给意图是相同的。
但似乎并非如此,因为通过 setter 方法传递“动作”会引发异常,而通过构造函数将其传递给 new Intent 工作正常。知道为什么吗?