Я исследовал это много на переполнении стека, но проблема не устранена. У меня есть активность main
, и он вызывает startActivityForResult
для моей деятельности takeapicture
. Вот мой код в takeapicture
, который возвращает результаты:Сбой Предоставление результата Результат
private Camera.PictureCallback mPicture = new Camera.PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
pictureFile = null;
try {
pictureFile = createImageFile(1);
} catch (Exception e) {System.out.println(e.getCause());
System.out.println("lol");}
if (pictureFile == null){
System.out.println("lol");
return;
}
try {
System.out.println(Arrays.toString(data));
FileOutputStream fos = new FileOutputStream(pictureFile);
fos.write(data);
fos.close();
} catch (FileNotFoundException e) {
System.out.println(e.getCause());
} catch (IOException e) {
System.out.println(e.getCause());
}
System.out.println(pictureFile.getAbsoluteFile());
Intent intent = new Intent();
intent.putExtra("SavedImageDirectory", pictureFile);
setResult(RESULT_OK, intent);
finish();
}
};
При запуске этого я получаю следующее сообщение об ошибке в первой строке, которая использует SavedImageDirectory
дополнительный:
java.lang.RuntimeException: Failure delivering result ResultInfo{...
...
Caused by: java.lang.NullPointerException
....
Похоже, что дополнительный имеет a vaue, но я не вижу, где это может пойти не так. Какие-нибудь советы? Заранее спасибо.
Все еще не работает. Я изменил его на префикс пакета, но проблема сохраняется, с тем же сообщением об ошибке. – SalmonKiller