в своей деятельности, я могу пойти в галерею и выбрать изображение. После этого я могу вернуться к предыдущему сценарию. Но когда я пошел в галерею, если бы я не выбрал изображение и не нажал кнопку «Назад», я не смог бы перейти на предыдущий экран, и я получил силу. Как можно исправить это, не используя startActivity (намерение)? Вот мой код: первым я определенКогда нажата кнопка назад, я получил Force Close в Android
private static final int ACTIVITY_REQUEST_PICK_ATTACHMENT = 1;
На активность Результат Код:
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
super.onActivityResult(requestCode, resultCode, data);
mAttachments = (LinearLayout) findViewById(R.id.attachments);
switch (requestCode) {
case ACTIVITY_REQUEST_PICK_ATTACHMENT:
Uri _uri = data.getData();
addAttachment(_uri);
Cursor cursor = getContentResolver()
.query(_uri,
new String[] { android.provider.MediaStore.Images.ImageColumns.DATA },
null, null, null);
cursor.moveToFirst();
File imageFilePath = new File(cursor.getString(0));
uris.add(imageFilePath);
names.add(imageFilePath.getName());
Log.v("imageFilePath", imageFilePath.toString());
break;
я называю, что в здесь:
private void onAddAttachment2(final String mime_type) {
// setContentView(R.layout.main);
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType(mime_type);
startActivityForResult(Intent.createChooser(i, null),
ACTIVITY_REQUEST_PICK_ATTACHMENT);
}
ошибка на моей LogCat
05-20 13:16:39.809: E/AndroidRuntime(374): at my.mail.SenderActivity.onActivityResult(KepenekActivity.java:294)
, когда я дважды щелкните на ошибку, он показывает линии
Uri _uri = data.getData();
логически это верно, мой _uri пуст, как я могу показать предыдущий экран с этим конечным состоянием здесь моя проблема.
Добавить if (data! = Null && data.getData()! = Null) после случая ACTIVITY_REQUEST_PICK_ATTACHMENT: –