variável local Android é perdida ao usar a intenção da câmera
Estou lidando com um problema aleatório relacionado ao uso da câmera. Antes de chamar a intenção da câmera - eu giro UUID para armazenar arquivos com esse nome. Eu armazeno esse UUID na variável privada da seguinte forma:
private String requestedFileName;
Quando a câmera terminar - estou processando esse arquivo, se parece com isso:
public void onPictureTaken(int index)
{
//First of all - remember picture in database for reference.
FileData.InsertFile(mContext, UUID.fromString(requestedFileName));
//Reduce taken picture if needed, otherwise let it be original.
if (Preferences.getImageSize(mContext) > 0)
{
Imaging.scaleImageFile(mContext, requestedFileName, Preferences.getImageSize(mContext));
}
Eu vejo os usuários relatarem uma exceção que se resume arequestedFileName == null quando onPictureTaken chamad
Caused by: java.lang.NullPointerException
at java.util.UUID.fromString(UUID.java:210)
at com.idatt.views.FourImagesView.onPictureTaken(FourImagesView.java:151)
at com.idatt.views.TrailerUnitView.onPictureTaken(TrailerUnitView.java:233)
Tudo funciona bem no meu telefone (Nexus S) e no emulador. Mas os usuários relatam essa exceção e não sei por que isso está acontecendo.