デフォルトのカメラを起動したいのですが、ランチャーから開始されたように動作させたいです (つまり、結果の画像は、アプリに返されるのではなく、カメラ アプリによってユーザーのギャラリーに保存される必要があります)。を使用するIntent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
と、カメラ アプリは "OK? Retry?" UI を使用し、写真を保存しません。com.android.camera
多くのデバイスがカスタム カメラ アプリを使用しているため、「直接」インテントは使用したくありません。ストック gallery3d-appcom.android.camera/.Camera
が を実装するエイリアスを使用していることを見てきましたが、すべてのプリロードされたメーカーのカメラ アプリがこれを行っているかどうかはわかりません。
質問する
9321 次
2 に答える
13
私は今、次のように実装しました:
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
try {
PackageManager pm = mContext.getPackageManager();
final ResolveInfo mInfo = pm.resolveActivity(i, 0);
Intent intent = new Intent();
intent.setComponent(new ComponentName(mInfo.activityInfo.packageName, mInfo.activityInfo.name));
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(intent);
} catch (Exception e){
Log.i(TAG, "Unable to launch camera: " + e);
}
于 2013-09-03T23:34:55.183 に答える