相关疑难解决方法(0)

当我使用ACTION_IMAGE_CAPTURE来拍照时,我得到一个NullPointerException

我有一个相当简单的应用程序,从菜单启动相机.相机发射很好,但是当我拍完照片后拍到OK时,我的nexus上有一个NPE:

E/AndroidRuntime( 3891): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, result=-1, data=null} to activity {net.asplode.tr/net.asplode.tr.PostImage}: java.lang.NullPointerException
E/AndroidRuntime( 3891):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3515)
E/AndroidRuntime( 3891):    at android.app.ActivityThread.handleSendResult(ActivityThread.java:3557)
E/AndroidRuntime( 3891):    at android.app.ActivityThread.access$2800(ActivityThread.java:125)
E/AndroidRuntime( 3891):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2063)
E/AndroidRuntime( 3891):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 3891):    at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 3891):    at android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime( 3891):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 3891):    at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime( 3891):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime( 3891):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime( 3891):    at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 3891): Caused by: java.lang.NullPointerException
E/AndroidRuntime( 3891):    at net.asplode.tr.PostImage.onActivityResult(PostImage.java:92)
E/AndroidRuntime( 3891):    at android.app.Activity.dispatchActivityResult(Activity.java:3890)
E/AndroidRuntime( 3891): …
Run Code Online (Sandbox Code Playgroud)

android

5
推荐指数
1
解决办法
1万
查看次数

相机预览仍为黑色

我在我的Android应用程序上尝试相机预览.当我试用我的真实设备时,它会给我黑屏.

这是我的代码,它不会抛出任何错误,但屏幕仍然是黑色的.有任何想法吗?

import android.app.Activity;
import android.content.Context;
import android.graphics.PixelFormat;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.widget.FrameLayout;

public class ARrazerNav extends Activity{

public void onCreate(Bundle savedInstanceState){
    try{
        super.onCreate(savedInstanceState);
        CustomCameraView cv = new CustomCameraView(this.getApplicationContext());
        FrameLayout r1 = new FrameLayout(this.getApplicationContext());
        setContentView(r1);
        r1.addView(r1);
    }catch (Exception e) {
        // TODO: handle exception
    }
}

public class CustomCameraView extends SurfaceView{
    Camera camera;
    SurfaceHolder previewHolder;
    public CustomCameraView(Context ctx){
        super(ctx);
        previewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
        previewHolder.addCallback(surfaceHolderListener);
    }
    SurfaceHolder.Callback surfaceHolderListener = new SurfaceHolder.Callback(){

        public void surfaceDestroyed(SurfaceHolder holder) {
            // …
Run Code Online (Sandbox Code Playgroud)

android android-camera

4
推荐指数
2
解决办法
1万
查看次数

Android - 获取图片uri的问题

像标题说我的问题涉及相机拍摄的图像uri.Uri总是空的...为什么?

@Override
public void onClick(View v) {

    Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);          
    startActivityForResult(cameraIntent, TAKE_PICTURE); 


@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data){

        if (requestCode == TAKE_PICTURE)
        {
            //Uri contentURI = Uri.parse(data.getDataString());
            thumbnail = (Bitmap) data.getExtras().get("data");
            ImageView image = (ImageView) findViewById(R.id.photoResultView);  
            image.setImageBitmap(thumbnail);

                photoUri = data.getData();
                Log.e("FOTOLOG",""+ photoUri);


        }
    }
Run Code Online (Sandbox Code Playgroud)

camera android uri

2
推荐指数
1
解决办法
9083
查看次数

保存捕获的图像

我一直试图解决这个问题,但没有取得任何成功.

我有一个非常简单的应用程序,可以捕获图像并将该图像显示给用户.问题是它在捕获日期时保存图像,但我想给图像一个特定的名称.

这是我的代码:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    this.imageView = (ImageView)this.findViewById(R.id.imageView1);
    Button photoButton = (Button) this.findViewById(R.id.button1);
    photoButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            //intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);

            startActivityForResult(intent, CAMERA_REQUEST); 
        }
    });

protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
    System.gc();
    if (requestCode == CAMERA_REQUEST) {  
        Bitmap photo = (Bitmap) data.getExtras().get("data");
        imageView.setImageBitmap(photo);

    }  
}
Run Code Online (Sandbox Code Playgroud)

如果有人能告诉我需要添加的内容以及设置图像名称的位置,我将非常感激.

android

2
推荐指数
1
解决办法
6961
查看次数

三星Galaxy SIII的相机有错误吗?

我使用以下代码启动相机,但是,3/4的时间,照片无法保存到内存中.这只发生在Galaxy SIII上.它适用于Nexus S和Nexus One

public void photoNew() {
    holdingImage = getContentResolver().insert(MUtil.genImgUri(), new ContentValues());   
    Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    Bundle extras = new Bundle();
    extras.putParcelable(MediaStore.EXTRA_OUTPUT, holdingImage);
    extras.putBoolean("return-data", true);
    i.putExtras(extras);
    startActivityForResult(i, REQ_PHOTO);   
}
Run Code Online (Sandbox Code Playgroud)

android android-camera android-camera-intent

2
推荐指数
1
解决办法
1950
查看次数

Android从相机获取图像Uri

我有一个应用程序调用Android手机的默认相机拍照,以下是我的代码.

                Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(intent, TAKE_PICTURE);
Run Code Online (Sandbox Code Playgroud)

在onActivityResult方法中,我正在执行以下操作

        if ((requestCode == TAKE_PICTURE) && (resultCode == Activity.RESULT_OK)) {
        Uri photoPath = intent.getData();
                    // do something with the uri here
            }
Run Code Online (Sandbox Code Playgroud)

以上代码在htc Tatto和索尼爱立信x10运行1.6上工作正常但在htc G1上运行1.6以上代码导致以下异常

        03-08 18:54:25.906: ERROR/AndroidRuntime(4344): Uncaught handler: thread main exiting due to uncaught exception
    03-08 18:54:25.966: ERROR/AndroidRuntime(4344): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { act=inline-data (has extras) }} to activity  removed
java.lang.NullPointerException
    03-08 18:54:25.966: ERROR/AndroidRuntime(4344):     at android.app.ActivityThread.deliverResults(ActivityThread.java:3224)
    03-08 18:54:25.966: ERROR/AndroidRuntime(4344):     at android.app.ActivityThread.handleSendResult(ActivityThread.java:3266)
    03-08 18:54:25.966: ERROR/AndroidRuntime(4344):     at android.app.ActivityThread.access$2600(ActivityThread.java:116) …
Run Code Online (Sandbox Code Playgroud)

android

1
推荐指数
1
解决办法
1万
查看次数

图片保存太小为什么?

我想用相机拍摄图像并将其保存到图片文件夹中...我唯一无法解决的问题是为什么我的图像以小尺寸保存...

Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i, TAKE_PICTURE);

protected void onActivityResult(int requestCode, int resultCode, Intent imageReturned) {
    super.onActivityResult(requestCode, resultCode, imageReturned);

    switch(requestCode) {
        case TAKE_PICTURE:
            if(resultCode == RESULT_OK)
            { 
                ByteArrayOutputStream bytes = new ByteArrayOutputStream();
                photo.compress(Bitmap.CompressFormat.PNG, 100, bytes);                  

                File f = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)+ File.separator + "test3.png");
                try {
                    f.createNewFile();
                    //write the bytes in file
                     FileOutputStream fo = new FileOutputStream(f);
                     fo.write(bytes.toByteArray());
                     fo.flush();
                     // remember close de FileOutput
                     fo.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }    
            }
    }
}
Run Code Online (Sandbox Code Playgroud)

android image

1
推荐指数
1
解决办法
1877
查看次数