2
所以我寫了一個意圖,應該啓動畫廊查看傳遞到意圖與它的Uri的圖像。此代碼工作正常,到底做什麼,我想它做的事:Android Intents - SetDataAndType和setData和setType之間的區別?
private Intent makeGalleryIntent(String pathToImageFile) {
Intent mGalleryIntent = new Intent(Intent.ACTION_VIEW);
mGalleryIntent.setDataAndType(Uri.parse("file://" + pathToImageFile), "image/*");
return mGalleryIntent;
}
但是,當我試圖發揮它(只是嘗試不同的東西出來,因爲我學習),這個代碼在模擬器上要麼崩潰,因爲它可以「T推出的相機,或者只是拉了我的畫廊我的物理設備上:
private Intent makeGalleryIntent(String pathToImageFile) {
Intent mGalleryIntent = new Intent(Intent.ACTION_VIEW);
mGalleryIntent.setData(Uri.parse("file://" + pathToImageFile));
mGalleryIntent.setType("image/*");
return mGalleryIntent;
}
他們都看起來像他們應該做同樣的事情。另外,有沒有一種方法可以使用Intent構造函數正確設置所有這些?
非常好的問題!我確實有這個問題,而且這真的很煩人,你會認爲一個「設置」API不會有隱藏的副作用。 – ebyrob