0

アプリで奇妙な問題が発生しました。メインメニューにボタンを作成しました。クリックすると、設定した意図でカメラに移動します。ただし、空白の白い画面が表示されます。

ここに私の Camera.java があります

import android.app.Activity;
import android.content.Intent;
import android.view.View;

public class Camera extends Activity{



public void takePhoto(View view) {
    Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
    int TAKE_PICTURE = 0;
    startActivityForResult(intent, TAKE_PICTURE);
}
 }

私のマニフェストファイルでは:

  </activity)
<activity android:name=".Camera"></activity>
 </application>

および権限:

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />

私は何を間違っていますか?

4

2 に答える 2

1

次のコードは、マニフェスト ファイルで権限を宣言せずにカメラを開くのに適しています。

package com.test;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Camera extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button btn_cal = (Button) findViewById(R.id.btn_cal);
        btn_cal.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
                int TAKE_PICTURE = 0;
                startActivityForResult(intent, TAKE_PICTURE);
            }
        });

    }

}

これが何らかの形で役立つことを願っています。

ありがとう。

于 2012-12-04T11:03:52.740 に答える
0

意図的に写真を撮っている場合、実際には許可は必要ありません。

私が書いたアプリでそれを取る必要があるのは次のとおりです。

ContentValues 値 = 新しい ContentValues(); values.put(MediaStore.Images.Media.TITLE, "photo.jpg"); values.put(MediaStore.Images.Media.DESCRIPTION,"私の説明");

    cameraResultURI = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
    //create new Intent
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, cameraResultURI);
    intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
    startActivityForResult(intent, CAMERA_ACTIVITY);
于 2012-11-15T20:50:16.257 に答える