私は、Android4で実行するための単純なAndroidカメラアプリケーションを実行するように作成されました。
コードには当初、カメラの意図が次のように定義されていました
Intent cameraIntent = new Intent();
cameraIntent.setType(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
このアプリケーションを実行しようとすると、以下の例外がスローされていました:-
07-07 12:44:09.755:E / AndroidRuntime(11533):android.content.ActivityNotFoundException:インテントを処理するアクティビティが見つかりません{typ = android.media.action.IMAGE_CAPTURE}
しかし、以下のように「cameraIntent」を定義して同じプログラムを実行しようとすると、うまくいきました-
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
セッターまたはコンストラクターを介してインテントに「アクション」を渡すことは同じだと思いました。
しかし、セッターメソッドを介して「アクション」を渡すと例外がスローされ、コンストラクターを介して新しいインテントに渡すと正常に機能するため、そうではないようです。なぜそうなのか?