Androidの写真はシステムのアルバムの更新に預け入れて実例を表示します。


Androidの写真はシステムのアルバムの更新に預け入れて実例を表示します。
Androidを開発する過程で、ユーザー定義のアルバムを作ったり、地元にフォルダを作って保存したりすることができるかもしれません。アルバムで言えば、例えば私たちはtestのフォルダを作成して、一枚の写真を撮ってからこの指定されたtestフォルダに保存して、アルバムの中に微信の効果のように表示します。撮ったらすぐに表示します。しかし、実際の開発の過程で、私達は一枚の写真を保存し終わったら、すぐにこの写真を更新して表示することができません。携帯を再起動してからシステムのアルバムに表示することができます。
     まずシステム図庫を挿入する方法を提供します。
     Media Store.Images.Media.insertImage(get Contents Resolover),mBitmap,",");;
この方法で画像をシステムライブラリに挿入できます。しかし、挿入後はすぐには表示されません。放送を送る必要があります。sendBroadcast(new Intent.ACTION_)MEDIA_MOUNTED、Uri.parse(「file:/」+Evironment.get External StrageDirectory()));
システム全体にsdカードのスキャンを行います。sdの中のものが多ければ多いほどスキャンが長くなります。スキャン中にsdカードにアクセスできないので、このような実現方式はユーザーにとって友好的ではありません。
     ここではシステムappi:Media Scannnectionからもらった方法を使ってスキャンの更新ができます。

  
@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);

 mHandler.sendEmptyMessageDelayed(1, 2000);

 mConnection =new MediaScannerConnection(mContext,this);
}

@Override
public void onMediaScannerConnected() {
 mConnection.scanFile("/sdcard/image.jpg", "image/jpeg");
}

@Override
public void onScanCompleted(String s, Uri uri) {
 Log.v("huan", "scan completed");
 mConnection.disconnect();
}

しかし、この方法は使用中に問題があります。伝わってきたcontextはMediaScannenConnectionによってずっと保持されています。ですから、使用中にactivityを使う時は注意が必要です。
     また、経路を指定して放送することもできます。このようにして、sdカード全体のスキャンを避けることができます。   

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory() + picPath)));
     写真の更新の技術と注意事項をみんなに共有して、あなたに役に立ちたいです。