Android写真はローカルストレージに保存してアルバムに表示します


1、説明
インターネット上の画像を携帯電話に保存して確認する必要がある場合がありますが、ローカルストレージに保存されているのにアルバムに表示されていませんが、「私のファイル」から経路をたどって見ると見えますが、これはどんな状況ですか?
2、解決
私たちは日常開発中に携帯電話に一時的に多くの画像を保存し、アルバムに表示することはできないでしょう.So,Androidは,この画像をアルバムに表示し,放送を送信することを表示し,この画像をメディアライブラリに追加することをシステムに伝えるメカニズムを提供している.以下は,この放送のソースコードと注釈である.
    /**
     * Broadcast Action:  Request the media scanner to scan a file and add it to the media database.
     * The path to the file is contained in the Intent.mData field.
     */
    @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
    public static final String ACTION_MEDIA_SCANNER_SCAN_FILE = "android.intent.action.MEDIA_SCANNER_SCAN_FILE";

このブロードキャストの役割は、上記の最初の行の注釈から分かるように、「メディアスキャナに指定されたファイルをスキャンし、メディアライブラリに追加するように要求する」ことです.
2番目のコメント:ファイルパスをIntentに保存します.mDataフィールド、すなわちpublic@NonNull Intent setData(@Nullable Uri data){}という方法です.
では、このファイルをローカルに保存してから、システムにブロードキャストを送信する必要があります.
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri uri = Uri.fromFile(file);
intent.setData(uri);
mContext.sendBroadcast(intent);

この时、もう一度アルバムを开けてみてください.もう表示されています.
 
やった!