sys_album_handler.dart
952 Bytes
import 'dart:io';
import 'package:android_intent_plus/android_intent.dart';
import 'package:appframe/services/dispatcher.dart';
/// sysAlbum 指令处理类
///
/// 打开系统相册应用,仅 Android 平台生效。
/// 无需参数,H5 调用示例:{ "cmd": "sysAlbum" }
class SysAlbumHandler extends MessageHandler {
@override
Future<dynamic> handleMessage(params) async {
if (!Platform.isAndroid) {
return false;
}
// 使用 ACTION_MAIN + CATEGORY_APP_GALLERY 打开系统图库应用
// 等同于点击桌面图库图标
// FLAG_ACTIVITY_NEW_TASK (0x10000000) 让图库在独立任务栈中打开,
// Flutter APP 保留在自己的任务栈,用户通过最近任务键可切回
const intent = AndroidIntent(
action: 'android.intent.action.MAIN',
category: 'android.intent.category.APP_GALLERY',
flags: <int>[0x10000000],
);
await intent.launch();
return true;
}
}