在 Android 应用程序中实现此功能,可以使用 ContentObserver 监视新文件的创建并修改其元数据。以下是一个示例代码,可以在 onReceive()方法中使用 ContentResolver 和 ContentValues 对象实现此功能:
public class MyContentObserver extends ContentObserver {
private Context mContext;
public MyContentObserver(Handler handler, Context context) {
super(handler);
mContext = context;
}
@Override
public void onChange(boolean selfChange, Uri uri) {
super.onChange(selfChange, uri);
if (uri != null) {
String path = uri.getPath();
if (path != null && path.startsWith(Environment.getExternalStorageDirectory().toString())) {
// New file created on external storage
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, "new_file_name");
values.put(MediaStore.Images.Media.DESCRIPTION, "new_file_description");
mContext.getContentResolver().update(uri, values, null, null);
}
}
}
}
然后在应用程序的 onCreate() 方法中,注册 ContentObserver 对象以便在新文件创建时监听:
MyContentObserver observer = new MyContentObserver(new Handler(), getApplicationContext());
getContentResolver().registerContentObserver(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, true, observer);