我正在處理與相機使用有關的隨機問題。在我調用相機意圖之前 - 我生成UUID以存儲具有此名稱的文件。我保存這個UUID在私有變量,像這樣:使用相機意圖時,Android本地變量會丟失
private String requestedFileName;
當相機完成 - 我處理完這個文件,看起來像這樣:
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));
}
我看到的用戶報告的問題異常歸結爲requestedFileName == NULL時onPictureTaken稱爲
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)
一切適用於我的手機(Nexus S)和仿真器。但用戶報告此異常,我不知道爲什麼會發生這種情況..
你確定你總是在變量requestedFileName中存儲文件名嗎?它不能爲空? – Shlublu
是的,除非它是完全愚蠢的錯誤 - 我100%肯定它不會發生... – katit