Android API,用于检测来自内置摄像头和麦克风的新媒体
2022-09-02 13:51:43
Android API 中是否有任何优雅的方法可以在将新媒体写入设备时检测新媒体?我主要对相机拍摄的照片,相机拍摄的视频和麦克风录制的音频感兴趣。
我目前的想法是定期扫描每个媒体内容提供商,并根据上次扫描时间进行过滤。
我只是想知道是否有一些服务,我可以得到实时通知。
Android API 中是否有任何优雅的方法可以在将新媒体写入设备时检测新媒体?我主要对相机拍摄的照片,相机拍摄的视频和麦克风录制的音频感兴趣。
我目前的想法是定期扫描每个媒体内容提供商,并根据上次扫描时间进行过滤。
我只是想知道是否有一些服务,我可以得到实时通知。
有一个特殊的广播 Intent,每次应用程序向媒体存储写入任何新内容时,都应该调用它:
Intent.ACTION_MEDIA_SCANNER_SCAN_FILE
“广播意向”包括可通过该方法访问的新文件的路径。Intent.getDataString()
要侦听它,只需创建一个并使用如下所示注册它:BroadcastReceiver
IntentFilter
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String newFileURL = intent.getDataString();
// TODO React to new Media here.
}
}, new IntentFilter(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE));
这仅适用于插入到其中一个媒体存储内容提供程序中的文件。此外,它还取决于将其放在那里广播意图的应用程序,这是所有本机(Google)应用程序所做的。