カメラで写真を撮りたいだけです - (それは機能します)
それをさらに使用するには、意図が画像を保存したパスが必要です。しかし、ファイルをどこに置くべきかをインテントに伝えたくありません。(これは、ファイルが自動的に作成されるためです。
カメラを起動する関数は次のとおりです
public void doCam() {
Intent i = new Intent("android.media.action.IMAGE_CAPTURE");
// startActivityForResult(intent,0);
try {
startActivityForResult(i, TAKEPICTURE_ACTIVITY);
} catch (ActivityNotFoundException e) {
Toast.makeText(this, "Application not available",
Toast.LENGTH_SHORT).show();
}
// Log.e(TAG, "Error in taking picture");
}
そして、結果の取得がここにあり、文字列アドレスに写真の名前のパスが必要です
すでにさまざまな解決策を見つけましたが、写真を撮る前にファイル名を選択する必要がありました->そのため、アプリは写真の名前を決定しました。
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == TAKEPICTURE_ACTIVITY) {
// super.onActivityResult(requestCode, resultCode, intent);
if (resultCode == RESULT_OK) {
Bundle extras = intent.getExtras();
Bitmap bitmap = (Bitmap) extras.get("data");
//doesn't work
String address= (String) extras.get("EXTRA_OUTPUT");