【问题标题】:Am not getting anything when starting my camera in my app在我的应用程序中启动相机时没有得到任何东西
【发布时间】:2012-12-04 19:03:52
【问题描述】:

我的应用出现了一个奇怪的问题。在我的主菜单中创建了一个按钮,当点击它时,我应该按照我设定的意图将我带到我的相机。但是我只是得到一个空白屏幕。

这是我的 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" />

我做错了什么?

【问题讨论】:

  • 请看我的回答,如果对您有帮助,请接受。

标签: android android-layout android-intent


【解决方案1】:

以下代码非常适合我打开相机,而无需在 Manifest 文件中声明任何权限。

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);
            }
        });

    }

}

希望这对您有所帮助。

谢谢。

【讨论】:

    【解决方案2】:

    如果你是通过意图拍照,你实际上不需要权限。

    这是我必须在我编写的应用程序中使用的内容:

    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);
    

    【讨论】:

    • 谢谢,但我仍然得到一个空白屏幕。我还需要创建一个xml文件吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    • 2015-11-08
    • 2018-05-19
    • 2015-06-26
    • 1970-01-01
    相关资源
    最近更新 更多