中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

使用FileObserver 類監(jiān)聽android sd卡變動

2018-07-20    來源:open-open

容器云強(qiáng)勢上線!快速搭建集群,上萬Linux鏡像隨意使用
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.Uri;
import android.os.Environment;
import android.os.FileObserver;
import android.util.Log;

/**
 * sd卡上的目錄創(chuàng)建監(jiān)聽器
 */
public class SDCardListener extends FileObserver {
    private Context context;

    public SDCardListener(Context context, String path) {
        // 這種構(gòu)造方法是默認(rèn)監(jiān)聽所有事件的,如果使用super(String,int)這種構(gòu)造方法, 則int參數(shù)是要監(jiān)聽的事件類型.
        super(path);
        this.context = context;
        init();
    }

    /**
     * 注冊監(jiān)聽器
     */
    public void init() {
        IntentFilter intentfilter = new IntentFilter(Intent.ACTION_MEDIA_SCANNER_STARTED);
        intentfilter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED);
        intentfilter.addDataScheme("file");
        ScanSdReceiver scanSdReceiver = new ScanSdReceiver();
        context.registerReceiver(scanSdReceiver, intentfilter);
    }

    @Override
    public void onEvent(int event, String path) {
        switch (event) {
        case FileObserver.CREATE://監(jiān)聽創(chuàng)建
            Log.d("Create", "path:" + path);
            rescanSdcard();
            break;
        case FileObserver.DELETE://監(jiān)聽刪除
            Log.d("Delete", "path:" + path);
            rescanSdcard();
            break;
        }
    }

    /**
     * 刷新SD卡
     */
    public void rescanSdcard() {
        context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, 
                Uri.parse("file://"+ Environment.getExternalStorageDirectory().getAbsolutePath())));
    }
}

標(biāo)簽:

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:PHP實現(xiàn)簡單的對稱加密和解密方法

下一篇:PHP實現(xiàn)壓縮html的函數(shù)