java.lang.RuntimeException的:无法恢复活动 [英] java.lang.RuntimeException: Unable to resume activity

查看:1167
本文介绍了java.lang.RuntimeException的:无法恢复活动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

什么EM试图实现一个按钮的OB点击它应该打开..the使用点击一个单元的摄像头,并返回到应用程序与tubnail的点击PIC的图像视图     包com.example.waterbill;

 进口java.io.ByteArrayOutputStream中;
进口的java.io.File;
进口java.io.FileOutputStream中;
进口java.io.IOException异常;

进口android.app.Activity;
进口android.content.Intent;
进口android.content.pm.ActivityInfo;
进口android.graphics.Bitmap;
进口android.os.Bundle;
进口android.os.Environment;
进口android.view.View;
进口android.widget.Button;
进口android.widget.EditText;
进口android.widget.ImageView;
进口android.widget.Toast;

公共类Bill_meter_satus延伸活动{
    @覆盖
    保护无效onResume(){
        // TODO自动生成方法存根
        super.onResume();
    }

    @覆盖
    保护无效的onPause(){
        // TODO自动生成方法存根
        super.onPause();
    }

    按钮B1,B2;
    的EditText edt1;
    ImageView的mImage;
    私有静态最终诠释CAMERA_PIC_REQUEST = 1888;
    字符串值;

    @覆盖
    保护无效的onCreate(包savedInstanceState){
        // TODO自动生成方法存根
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.bill_meter_sat);
        B1 =(按钮)findViewById(R.id.button1);
        B2 =(按钮)findViewById(R.id.button2);
        edt1 =(EditText上)findViewById(R.id.editText1);
        捆绑额外= getIntent()getExtras()。

        如果(额外的!= NULL){
            值= extra.getString(Cons_ code);
            edt1.setText(值);
            Toast.makeText(Bill_meter_satus.this,价值观,Toast.LENGTH_SHORT)
                    。显示();
        }
 

// onliclick按钮caputre瞬间             b2.setOnClickListener(新View.OnClickListener(){

  @覆盖
            公共无效的onClick(查看为arg0){
                // TODO自动生成方法存根
                意向意图=新的意图(
                        android.provider.MediaStore.ACTION_IM​​AGE_CAPTURE);
                startActivityForResult(意向,CAMERA_PIC_REQUEST);

            }

        });
        b1.setOnClickListener(新View.OnClickListener(){
                     //在点击按钮移动到下一个活动
            @覆盖
            公共无效的onClick(视图v){
                // TODO自动生成方法存根
                接下来的意图=新的意图(
                        com.example.waterbill.Bill_meter_status_normal);
                next.putExtra(Cons_ code,值);
                startActivity(下);

            }
        });

    }

    保护无效onActivityResult(INT申请code,INT结果code,意图数据){
        如果(结果code!= RESULT_CANCELED){
            如果(要求code == CAMERA_PIC_REQUEST){
                // 2
                。位图的缩略图=(位图)data.getExtras()获得(数据);
                mImage.setImageBitmap(缩略图);
                // 3
                ByteArrayOutputStream字节=新ByteArrayOutputStream();
                thumbnail.com preSS(Bitmap.Com pressFormat.JPEG,100个字节);
                // 4
                档案文件=新的文件(Environment.getExternalStorageDirectory()
                        +文件分割符+image.jpg文件);
                尝试 {
                    file.createNewFile();
                    FileOutputStream中FO =新的FileOutputStream(文件);
                    // 5
                    fo.write(bytes.toByteArray());
                    fo.close();
                }赶上(IOException异常E){
                    // TODO自动生成的catch块
                    e.printStackTrace();
                }
            }
        }

    }

}
 

logcat的

  7月9日至四号:26:47.051:E / AndroidRuntime(12992):致命异常:主要
7月9号至4号:26:47.051:E / AndroidRuntime(12992):java.lang.RuntimeException的:不提供结果ResultInfo {谁= NULL,请求= 1888,结果= -1,数据=意向{行为=直列数据DAT =内容://媒体/外部/图片/媒体/ 18169 =典型图像/ JPEG(有临时演员)}}到活动{com.example.waterbill / com.example.waterbill.Bill_meter_satus}:显示java.lang.NullPointerException
7月9号至4号:26:47.051:E / AndroidRuntime(12992):在android.app.ActivityThread.deliverResults(ActivityThread.java:3007)
7月9号至4号:26:47.051:E / AndroidRuntime(12992):在android.app.ActivityThread.handleSendResult(ActivityThread.java:3050)
7月9号至4号:26:47.051:E / AndroidRuntime(12992):在android.app.ActivityThread.access $ 1100(ActivityThread.java:127)
7月9号至4号:26:47.051:E / AndroidRuntime(12992):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1188)
7月9号至4号:26:47.051:E / AndroidRuntime(12992):在android.os.Handler.dispatchMessage(Handler.java:99)
7月9号至4号:26:47.051:E / AndroidRuntime(12992):在android.os.Looper.loop(Looper.java:137)
7月9号至4号:26:47.051:E / AndroidRuntime(12992):在android.app.ActivityThread.main(ActivityThread.java:4448)
7月9号至4号:26:47.051:E / AndroidRuntime(12992):在java.lang.reflect.Method.invokeNative(本机方法)
7月9号至4号:26:47.051:E / AndroidRuntime(12992):在java.lang.reflect.Method.invoke(Method.java:511)
7月9号至4号:26:47.051:E / AndroidRuntime(12992):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:823)
7月9号至4号:26:47.051:E / AndroidRuntime(12992):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:590)
7月9号至4号:26:47.051:E / AndroidRuntime(12992):在dalvik.system.NativeStart.main(本机方法)
7月9号至4号:26:47.051:E / AndroidRuntime(12992):由:显示java.lang.NullPointerException
7月9号至4号:26:47.051:E / AndroidRuntime(12992):在com.example.waterbill.Bill_meter_satus.onActivityResult(Bill_meter_satus.java:88)
7月9号至4号:26:47.051:E / AndroidRuntime(12992):在android.app.Activity.dispatchActivityResult(Activity.java:4649)
7月9号至4号:26:47.051:E / AndroidRuntime(12992):在android.app.ActivityThread.deliverResults(ActivityThread.java:3003)
7月9号至4号:26:47.051:E / AndroidRuntime(12992):11 ...更多
 

解决方案

由于LogCat中说:

  07:26:47.051:E / AndroidRuntime(12992):由:显示java.lang.NullPointerException 09-04
 

NullPointerException异常。我没有看到你初始化 mImage 。您必须在的onCreate()方法进行初始化。

将此code段为的onCreate()方法。

  mImage =(ImageView的)findViewById(R.id.yourImageViewId);
 

what em trying to achieve is ob click of a button it should open the camera ..the use clicks a snap and it returns back to the app with tubnail of the clicked pic in the image view package com.example.waterbill;

import java.io.ByteArrayOutputStream;
import java.io.File; 
import java.io.FileOutputStream;
import java.io.IOException;

import android.app.Activity;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

public class Bill_meter_satus extends Activity {
    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
    }

    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
    }

    Button b1, b2;
    EditText edt1;
    ImageView mImage;
    private static final int CAMERA_PIC_REQUEST = 1888;
    String values;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.bill_meter_sat);
        b1 = (Button) findViewById(R.id.button1);
        b2 = (Button) findViewById(R.id.button2);
        edt1 = (EditText) findViewById(R.id.editText1);
        Bundle extra = getIntent().getExtras();

        if (extra != null) {
            values = extra.getString("Cons_Code");
            edt1.setText(values);
            Toast.makeText(Bill_meter_satus.this, values, Toast.LENGTH_SHORT)
                    .show();
        }

//onliclick of the button caputre a snap b2.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Intent intent = new Intent(
                        android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                startActivityForResult(intent, CAMERA_PIC_REQUEST);

            }

        });
        b1.setOnClickListener(new View.OnClickListener() {
                     //on click of button move to next activity
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent next = new Intent(
                        "com.example.waterbill.Bill_meter_status_normal");
                next.putExtra("Cons_Code", values);
                startActivity(next);

            }
        });

    }

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (resultCode != RESULT_CANCELED) {
            if (requestCode == CAMERA_PIC_REQUEST) {
                // 2
                Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
                mImage.setImageBitmap(thumbnail);
                // 3
                ByteArrayOutputStream bytes = new ByteArrayOutputStream();
                thumbnail.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
                // 4
                File file = new File(Environment.getExternalStorageDirectory()
                        + File.separator + "image.jpg");
                try {
                    file.createNewFile();
                    FileOutputStream fo = new FileOutputStream(file);
                    // 5
                    fo.write(bytes.toByteArray());
                    fo.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }

    }

}

LOGCAT

09-04 07:26:47.051: E/AndroidRuntime(12992): FATAL EXCEPTION: main
09-04 07:26:47.051: E/AndroidRuntime(12992): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1888, result=-1, data=Intent { act=inline-data dat=content://media/external/images/media/18169 typ=image/jpeg (has extras) }} to activity {com.example.waterbill/com.example.waterbill.Bill_meter_satus}: java.lang.NullPointerException
09-04 07:26:47.051: E/AndroidRuntime(12992):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3007)
09-04 07:26:47.051: E/AndroidRuntime(12992):    at android.app.ActivityThread.handleSendResult(ActivityThread.java:3050)
09-04 07:26:47.051: E/AndroidRuntime(12992):    at android.app.ActivityThread.access$1100(ActivityThread.java:127)
09-04 07:26:47.051: E/AndroidRuntime(12992):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1188)
09-04 07:26:47.051: E/AndroidRuntime(12992):    at android.os.Handler.dispatchMessage(Handler.java:99)
09-04 07:26:47.051: E/AndroidRuntime(12992):    at android.os.Looper.loop(Looper.java:137)
09-04 07:26:47.051: E/AndroidRuntime(12992):    at android.app.ActivityThread.main(ActivityThread.java:4448)
09-04 07:26:47.051: E/AndroidRuntime(12992):    at java.lang.reflect.Method.invokeNative(Native Method)
09-04 07:26:47.051: E/AndroidRuntime(12992):    at java.lang.reflect.Method.invoke(Method.java:511)
09-04 07:26:47.051: E/AndroidRuntime(12992):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:823)
09-04 07:26:47.051: E/AndroidRuntime(12992):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:590)
09-04 07:26:47.051: E/AndroidRuntime(12992):    at dalvik.system.NativeStart.main(Native Method)
09-04 07:26:47.051: E/AndroidRuntime(12992): Caused by: java.lang.NullPointerException
09-04 07:26:47.051: E/AndroidRuntime(12992):    at com.example.waterbill.Bill_meter_satus.onActivityResult(Bill_meter_satus.java:88)
09-04 07:26:47.051: E/AndroidRuntime(12992):    at android.app.Activity.dispatchActivityResult(Activity.java:4649)
09-04 07:26:47.051: E/AndroidRuntime(12992):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3003)
09-04 07:26:47.051: E/AndroidRuntime(12992):    ... 11 more

解决方案

As LogCat said:

07:26:47.051: E/AndroidRuntime(12992): Caused by: java.lang.NullPointerException 09-04

It is NullPointerException. I don't see that you initialize your mImage. You must initialize it in onCreate() method.

Add this code snippet to onCreate() method.

mImage = (ImageView)findViewById(R.id.yourImageViewId);

这篇关于java.lang.RuntimeException的:无法恢复活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆