2014-10-29 4 views
-3

Мое приложение запускается в FrontPageActivity и имеет кнопку, которая позволяет мне перейти к камере, чтобы сделать снимок. После того, как снимок сделан, мое приложение должно отправить меня обратно на главную страницу и показать мне картинку. Но как только я сделал снимок, мое приложение выйдет из строя. Я не могу заставить свой эмулятор сделать снимок, поэтому я делаю это на своем телефоне, поэтому я не получаю сообщений об ошибках, кроме того, что мое приложение остановилось. Это мой код;Сбой приложения для Android после того, как я снимаю

public class CameraActivity extends Activity { 

private static final int CAMERA_REQUEST = 1888; 
public ImageView imageView; 
public static final String URI_PATH = "Uri"; 
Uri imageUri = null; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_frontpage); 
    this.imageView = (ImageView) this.findViewById(R.id.pictureImageView); 
    Intent cameraIntent = new Intent(
      android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
    startActivityForResult(cameraIntent, CAMERA_REQUEST); 
} 

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) { 

     Bitmap photo = (Bitmap) data.getExtras().get("data"); 
     imageView.setImageBitmap(photo); 

     Intent frontPageIntent = new Intent(this, FrontPageActivity.class); 
     imageUri = data.getData(); 

     frontPageIntent.putExtra(URI_PATH, imageUri.toString()); 
     frontPageIntent.putExtra("MapPhoto", photo); 

     startActivity(frontPageIntent); 
    } 
} 
} 

И

public class FrontPageActivity extends Activity { 

private static final String NUMBER = "number"; 
private static final String MY_PREF = "myPref"; 
private static final String NA = "NA"; 
private ImageView imageView; 
private String enteredPhoneNumber; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_frontpage); 
    Bitmap bitmap = getIntent().getParcelableExtra("MapPhoto"); 
    if (bitmap != null) { 
     imageView.setImageBitmap(bitmap); 
    } 

    getEnteredPhoneNumber(); 
    Button callButton = (Button) findViewById(R.id.callButton); 
    this.imageView = (ImageView) this.findViewById(R.id.pictureImageView); 

    callButton.setOnClickListener(makePhoneCall); 
} 

public void goToCamera(View v) { 
    Intent intent = new Intent(this, CameraActivity.class); 
    startActivity(intent); 
} 

private void getEnteredPhoneNumber() { 

    SharedPreferences sharedPref = getSharedPreferences(MY_PREF, 
      MODE_PRIVATE); 
    enteredPhoneNumber = sharedPref.getString(NUMBER, NA); 
} 

private OnClickListener makePhoneCall = new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     Intent callIntent = new Intent(Intent.ACTION_CALL); 
     callIntent.setData(Uri.parse("tel:18181818," + enteredPhoneNumber)); 
     startActivity(callIntent); 
    } 
}; 

} 

Logcat информация:

10-29 08:15:19.530: E/AndroidRuntime(907): FATAL EXCEPTION: main 
10-29 08:15:19.530: E/AndroidRuntime(907): Process: com.netdesign1813, PID: 907 
10-29 08:15:19.530: E/AndroidRuntime(907): java.lang.RuntimeException: Failure delivering result  ResultInfo{who=null, request=1888, result=-1, data=Intent { act=inline-data (has extras) }} to  activity {com.netdesign1813/com.netdesign1813.CameraActivity}: java.lang.NullPointerException 
10-29 08:15:19.530: E/AndroidRuntime(907): at  android.app.ActivityThread.deliverResults(ActivityThread.java:3365) 
10-29 08:15:19.530: E/AndroidRuntime(907): at a ndroid.app.ActivityThread.handleSendResult(ActivityThread.java:3408) 
10-29 08:15:19.530: E/AndroidRuntime(907): at android.app.ActivityThread.access$1300(ActivityThread.java:135) 
10-29 08:15:19.530: E/AndroidRuntime(907): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244) 
10-29 08:15:19.530: E/AndroidRuntime(907): at android.os.Handler.dispatchMessage(Handler.java:102) 
10-29 08:15:19.530: E/AndroidRuntime(907): at android.os.Looper.loop(Looper.java:136) 
10-29 08:15:19.530: E/AndroidRuntime(907): at android.app.ActivityThread.main(ActivityThread.java:5017) 
10-29 08:15:19.530: E/AndroidRuntime(907): at java.lang.reflect.Method.invokeNative(Native Method) 
10-29 08:15:19.530: E/AndroidRuntime(907): at java.lang.reflect.Method.invoke(Method.java:515) 
10-29 08:15:19.530: E/AndroidRuntime(907): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
10-29 08:15:19.530: E/AndroidRuntime(907): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
10-29 08:15:19.530: E/AndroidRuntime(907): at dalvik.system.NativeStart.main(Native Method) 
10-29 08:15:19.530: E/AndroidRuntime(907): Caused by: java.lang.NullPointerException 
10-29 08:15:19.530: E/AndroidRuntime(907): at com.netdesign1813.CameraActivity.onActivityResult(CameraActivity.java:36) 
10-29 08:15:19.530: E/AndroidRuntime(907): at android.app.Activity.dispatchActivityResult(Activity.java:5423) 
10-29 08:15:19.530: E/AndroidRuntime(907): at android.app.ActivityThread.deliverResults(ActivityThread.java:3361) 
10-29 08:15:19.530: E/AndroidRuntime(907): ... 11 more 

Я надеюсь, что кто-то может заметить свою ошибку, потому что я не могу.

+0

Сообщите нам ваш лордат, пожалуйста. –

+0

опубликовать журнал ошибок также. – Akhil

+0

http://stackoverflow.com/questions/23353173/unappro-myapp-has-stopped-how-can-i-solve-this – nhaarman

ответ

0

Возможно, это проблема с вашим размером изображения, сделанным камерой. Если размер изображения больше, вы не можете вернуть изображение к своей деятельности в намерении.

Как только попытайтесь ограничить размер изображения следующим образом при выполнении запроса камеры.

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
cameraIntent.putExtra(android.provider.MediaStore.EXTRA_SIZE_LIMIT, "720000"); 
startActivityForResult(cameraIntent, CAMERA_REQUEST_IDPHOTO); 
+0

К сожалению, это не сработало. –

+0

без журнала ошибок, мы не можем найти проблему. – Akhil

+0

Как вы установили приложение на телефон? – Akhil

Смежные вопросы