質問

最初の投稿がとても素敵な:)

私の問題は私の電話カメラを開くクラスがあることです。ただし、電話機のバックボタンを押すと、アプリはクラッシュします。

これを防ぐ方法はありますか?バックボタンを無効にするだけですか?

あらゆる助けが高く評価されるでしょう

これはカメラを開くためのコードです。

    btnpicture.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityIfNeeded(cameraIntent, CAMERA_REQUEST);
        }
    });
.

編集:この問題は、ギャラリーを開く別のボタンがある場合にも発生します。戻るボタンが押されたら、アプリはクラッシュしました。

    btnsdpic.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            Intent gallery = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
            startActivityIfNeeded(gallery, SELECT_IMAGE);
        }
    });
.

ありがとう人

HEMM

役に立ちましたか?

解決

試してみてください:

 Intent gallery = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
 startActivityForResult(camera, SELECT_IMAGE);
.

と:

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

     if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
       if (resultCode == RESULT_OK) {
        Toast.makeText(this, "Image Caputred", Toast.LENGTH_SHORT).show();
     } else if (resultCode == RESULT_CANCELED) {
        Toast.makeText(this, "Image was not Caputred", Toast.LENGTH_SHORT).show();
     } else {
        Toast.makeText(this, "Image was not Caputred", Toast.LENGTH_SHORT).show();
     }
    }    
}
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top