1.其實也不能叫華為mate9的bug,我想在可能Android7.0的手機都有這個問題签杈!起因是因為一直有用戶反饋華為p9上傳照片上傳不上去瘫镇!我用測試機(4.4系統(tǒng))沒有問題,同事的5.0和6.0的手機也沒有問題!最開始我以為只是權(quán)限問題铣除,但是苦于沒有7.0的手機谚咬,所以一直沒法測試。云測試要給錢尚粘,誰給我推薦個免費的云測試霸褙浴(7.0)!
2.今天同事居然買個了華為mate9,一看系統(tǒng)Android7,果斷拿來測試郎嫁!發(fā)現(xiàn)還真上傳不上去秉继,直接白屏,然后此頁面就死了行剂!都還美譽照相呢秕噪,我懷疑是權(quán)限問題!但是我用了easypermissions來授權(quán)昂裨住腌巾!難道是假授權(quán),我去看了看應(yīng)用的權(quán)限管理铲觉,發(fā)現(xiàn)相機和存儲都是授權(quán)了的澈蝙!看錯誤信息也是說什么Uri不行!我只能懷疑是文件路徑不對了撵幽!
3.于是網(wǎng)上找到了灯荧,解決問題三部曲。快速使用FileProvider解決Android7.0文件權(quán)限問題因為從log錯誤看盐杂,就是找不到這個文件!根據(jù)此博客的三步操作后逗载,我期待奇跡的發(fā)生×戳遥可是厉斟,現(xiàn)實不會那么順利,logcat還是給我說强衡,你沒有發(fā)現(xiàn)這個文件夾下的圖片擦秽!我去,你能不能仔細(xì)給我找找啊漩勤。
4.于是我又開啟了百度google之路感挥,又發(fā)現(xiàn)了這篇 FileProvider無法獲取外置SD卡問題解決方案 | Failed to find configured root that contains看看他有什么不同的。在博客最后作者說到了獲取外置SD卡失敗導(dǎo)致的原因越败。所以xml配置要用root-path触幼,但是我一直沒有考慮這個外置SD卡的原因。因為現(xiàn)在都是一體機了眉尸!看手機內(nèi)存的話就只能看到一個存儲64G域蜗,可用存儲50G,我就以為沒有外置SD卡巨双。但沒想到居然改為root-path后噪猾,還真的沒有問題了霉祸!太感謝了這位了!
5.總結(jié) :別人為什么能發(fā)現(xiàn)問題解決問題袱蜡,關(guān)鍵還是會看源碼丝蹭,從源碼和官方文檔中找尋解決問題的辦法。所以我們在感謝別人為自己解決了問題的同時坪蚁,還要想想自己是不是更應(yīng)該學(xué)習(xí)他們學(xué)習(xí)的方式奔穿,而不僅僅是學(xué)習(xí)他們留給我們的知識!