如何通过MTP将图像复制到设备时收到通知

时间:2014-05-28 14:12:25

标签: android broadcastreceiver android-gallery android-mediascanner

我正在写一个类似app的画廊。

我希望在通过MTP将图像复制到设备时收到通知。

我尝试注册一个广播接收器来监听媒体扫描程序已完成的操作,但它从未被调用过。我试图在AndroidManifest.xml中注册或在Java代码中注册,但都不起作用。

<receiver android:name="com.robin.huangwei.omnigif.content.MediaScannerReceiver"
        android:enabled="true" >
    <intent-filter>
        <action android:name="android.intent.action.MEDIA_SCANNER_FINISHED" />
        <data android:scheme="file" />
    </intent-filter>
</receiver>

public class MediaScannerReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.i("-----", "Scan finished, new item: " + intent);
    }

}

或使用下面的JAVA代码

mReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.i("-----", "Scan finished, new item: " + intent);
    }
};
IntentFilter filter = new IntentFilter(Intent.ACTION_MEDIA_SCANNER_FINISHED);
filter.addDataScheme("file");
registerReceiver(mReceiver, filter);

以上都不起作用。

我的代码有什么问题?我可以看到每次复制新图像时,它都可以在Gallery App中显示。它可能正在使用内容观察者来观看媒体商店数据库,我不想这样做。

我只是希望在通过MTP将新图像添加到设备存储中时收到通知。由于它被添加到媒体商店,必须由媒体扫描仪完成,为什么我的应用程序无法捕获广播意图?如果这甚至不正确,我想知道我作为标题发布的答案。

0 个答案:

没有答案