1. 程式人生 > >Android中下載的圖片不能顯示,開機後才能顯示(大全)

Android中下載的圖片不能顯示,開機後才能顯示(大全)

之所以要補充這次,是因為第一次寫的並沒有解決我的bug,真正的解決方法在分割線下
問題情景:
我自己做了個雲相簿,最重要的功能就是上傳下載功能,下載的時候我會把下載的照片放到一個新建的資料夾下,之前測試的時候,隱藏了一個bug,今天把新建檔案下的照片都刪除了,再次下載時就看不到照片了,只有重啟以後才能看到照片,新建的資料夾才會出現,繼續下載都會在資料夾下顯示,無需重啟了,只有初次下載時會這樣,於是乎,我在網上搜了一番,網上眾說紛紜,最終解決了問題,現在把解決問題的過程記錄下,也算是自己的經驗分享吧,需要的直接拿走,有用請點贊啦~~~

解決辦法:

try {
                MediaStore.Images
.Media.insertImage(getContentResolver(), Constants.downloadPath + File.separator + info.getFileName(), "", ""); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }

下面貼出這個函式的原始碼:

/** 
          * Insert an image and create a thumbnail for it. 
          * 
          * @param
cr The content resolver to use * @param imagePath The path to the image to insert * @param name The name of the image * @param description The description of the image * @return The URL to the newly created image * @throws FileNotFoundException */
public static final String insertImage(ContentResolver cr, String imagePath, String name, String description) throws FileNotFoundException { // Check if file exists with a FileInputStream FileInputStream stream = new FileInputStream(imagePath); try { Bitmap bm = BitmapFactory.decodeFile(imagePath); String ret = insertImage(cr, bm, name, description); bm.recycle(); return ret; } finally { try { stream.close(); } catch (IOException e) { } } }

我是在下載圖片後直接添加了上面的那句程式碼就好使了,網上有的說還需要發廣播,反正我是沒有發,也達到我的目的了,因此大家則需而用吧~~~

——————————-我是分割線————————————–
上邊的那個bug隱藏得很深,原以為解決了問題,卻發現是自己大意了,問題根本沒有解決,又被深度隱藏起來了,無奈,又得繼續尋找解決辦法了,
本來以為上面的已經解決了問題,下面找到了某位同學的部落格是這樣的:
部落格地址:http://blog.csdn.net/loongggdroid/article/details/18985841
我們或許經常會遇到這種情況,明明儲存了圖片,但是當你開啟圖片時,卻沒有找到這張圖片,手機重啟之後才能看到。這是因為SD卡並沒有重新掛載,相簿也無法把這張圖片載入進去,解決這個問題非常簡單,只需要我們模擬一個廣播,使SD卡重新掛載即可!方法如下:

/**
     * 傳送廣播,重新掛載SD卡
     */
    private void sendBroadCaseRemountSDcard() {
        Intent intent = new Intent();
        // 重新掛載的動作
        intent.setAction(Intent.ACTION_MEDIA_MOUNTED);
        // 要重新掛載的路徑
        intent.setData(Uri.fromFile(Environment.getExternalStorageDirectory()));
        sendBroadcast(intent);
    }

其實上邊這位同學的解決辦法並沒有什麼不妥,但是我的除錯系統是4.4.2,而Android4.4不允許這樣發廣播,會報異常,是因為Android4.4限制了許可權,於是乎,又搜尋了一番,建議這麼做:

MediaScannerConnection.scanFile(this, new String[]{info.getFilePath()}, null,null);

這樣才真正的解決了我的問題,真是歷盡千辛萬苦啊,上邊的函式的第二個引數一定要寫對啊,我一開始也用了這個方法,但是引數沒有給對,一直沒效果,我就繞過了這個方法,迂迴了好大一圈,還是它解決的問題,所以一定要留意哦~~~

相關推薦

Android下載圖片不能顯示開機才能顯示大全

之所以要補充這次,是因為第一次寫的並沒有解決我的bug,真正的解決方法在分割線下 問題情景: 我自己做了個雲相簿,最重要的功能就是上傳下載功能,下載的時候我會把下載的照片放到一個新建的資料夾下,之前測試的時候,隱藏了一個bug,今天把新建檔案下的照片都刪除了

將app變為桌面程式開機不再顯示原桌面而是顯示我們的app介面

兩步完成: 1.如圖 在專案清單跟節點加入android:installLocation="internalOnly",指定你的app安裝到記憶體中。 2.如圖 在第一個要啟動的activity的filter中加入圖中程式碼,讓app成為主程式。

Android圖片選擇器PhotoPicker庫的使用仿微信秒殺MultiImageSelector

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); i

Android圖片選擇器ImagePicker庫的使用仿微信、非常容易整合

原文地址: https://github.com/jeasonlzy/ImagePickerImagePickerAndroid自定義相簿,完全仿微信UI,實現了拍照、圖片選擇(單選/多選)、 裁剪 、旋轉、等功能。由於個人時間有限,該專案停止維護如果你發現有bug,或者好的

使用VMware將Linux裝在物理硬盤上開機即可進入Linux

width system 成了 保存 2.6 圖片地址 init bold boot 目錄(?)[-] 本文目的 具體操作 1 軟件準備 2 安裝 21 對硬盤操作 22 創建虛擬機並安裝 23 使用Grub引導Linux 1. 本文目的 適合於

Android對話方塊右上角關閉懸浮按鈕的實現總結

其實很簡單,步驟如下: 1、需要把對話方塊的預設背景改為透明。 方法:自定義Dialog的樣式。 <!--對話方塊透明背景--> <style name="Translucent_NoTitle" parent="android:style/Theme

將JAR包反編譯修改重新打包

  有道是,知其然才知其所以然。有時候,我們必須讀取jar裡的打包的類。而有時還有可能要對它進行小量修改,使之適用於自己的非凡需求。前期預備   Java反編譯工具:   JGUI  http://pan.baidu.com/s/1o6xCtsQ   壓縮工具:   Winrar開始   1. 將jar包

Android的多渠道打包之友盟統計篇

上篇簡單瞭解了Android中的多渠道打包,這篇主要說正事了---》 如何多渠道打包: 首先,多渠道打包最重要的是可以統計不同渠道下的應用的情況,比如下載量,日活量等等.. 關於統計的話國內有兩個比較出名的第三方統計工具吧:友盟統計和百度移動統計 這篇說的是用友盟,如果想要

在faster rcnn使用soft nmsfaster rcnn的改進

1. 背景介紹 我的專案是利用faster rcnn檢測kiiti資料集,用原始nms,iters = 10000的情況下,得到的mAP = 0.586, 在改用soft nms後,其他引數均不變的情況下,得到的mAP = 0.622。算是挺大的改進了,所以分

AndroidService的使用詳解和注意點LocalService

開始,先稍稍講一點android中Service的概念和用途吧~ Service分為本地服務(LocalService)和遠端服務(RemoteService): 1、本地服務依附在主程序上而不是獨立的程序,這樣在一定程度上節約了資源,另外Local服務因為是在同一程序因此

當 xml存在名稱空間三種處理辦法dom4j

{         Map map  = new  HashMap();         map.put( " design " , " http://www.eclipse.org/birt/2005/design " );         SAXReader saxReader  = new  SAX

Android : 執行緒的結束掛起和恢復

實踐證明,上述情況下,建立的執行緒並不會自動銷燬,而是仍然在後臺默默無聞地執行,直到自行結束。Android的這種設計是無可厚非的。從理論上來解釋,應用的最小執行單位是執行緒,最小資源單位是程序,一個程序可以包含多個執行緒,而多個執行緒共享同一個所屬程序的資源。因此,個人理解Android的應用其實就是一個程

Android Studio常用功能配置讓開發更高效

1、程式碼提示不區分大小寫 File | Settings 開啟設定,選擇Editor | General | Code Completion Case sensitive completion

AndroidGridView水平滾動和垂直滾動的實現動態

經過本人實驗,完美實現水平滾動和垂直滾動。話不多說,先看佈局檔案: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com

自己寫的加密網頁與百度網盤私密很相似需要密碼才能訪問原創

audio 查詢 數字 code 頁面 time AR 開發 其他 題記: 馬上就要招聘了,所以我打算放置簡歷在自己的網頁上,但是又不想給除了招聘的人,或者我指定的人外看,所以我需要對網頁頁面加密 我找了許多資料,查看了許多所謂的頁面加密,但是有60%左右都是網頁鎖,

Android相機拍攝照片以及相簿選擇圖片壓縮上傳(壓縮儲存進SD)(可用於修改頭像等)

           這個功能借鑑了多個大神的,然後整合起來。                    Android中相機拍攝照片,以及相簿選擇圖片壓縮上傳(壓縮後儲存進SD中)(可用   於修改頭像等)                       第一步: privat

AndroidGif圖片顯示

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Android在app被系統釋放重新回到前臺時重建Activity出現Fragment重疊現象

android 開發中Frgment應用場景非常廣泛,應用Fragment是必須使用FragmentActivity,有時候會出現這樣一種情況,在應用退到後臺後,系統會在記憶體不足時將應用回收掉,再次啟動應用會出現Activity中的Fragment重疊現象,其實出現問題的原因是這樣的,

從網路下載圖片並進行顯示

通過get請求方式獲取網路圖片----主要是方便以後查閱以及做一個筆記 任務要求: 1.新建一個佈局檔案,在佈局檔案中新增Button、ImageView兩個控制元件 2.新建一個GetPictThread實現Runnable介面   (1)定義一個handler用於

android關於圖片分享到QQ或者微信朋友圈及其他免SDK

 最近又做了一個關於圖片分享到朋友圈的一個小功能,起先想到的是要新增比如QQ 或者微信以及其他工具的API,但是很麻煩,還要申請一些亂七八糟的東西並且得通過,才能用。 於是就在網上找一些關於圖片分享的資料,僅供參考(親測可用),,僅限圖片的分享,但是免去了上面所說的那些繁瑣