Android 如何从Flatter应用程序启动高级下载管理器(ADM)应用程序并为其提供下载数据?

Android 如何从Flatter应用程序启动高级下载管理器(ADM)应用程序并为其提供下载数据?,android,flutter,Android,Flutter,我是个新手,对安卓不太了解。我想让我的颤振应用程序允许用户使用下载数据启动ADM来下载文件。现在我尝试了不同的方法,但似乎确实奏效了。我试过了,但没有启动 ListTile( title: Text("ADM LAUNCH"), onTap: () async { String adm = "com.dv.adm"; if (await canLaunch(adm)) { await laun

我是个新手,对安卓不太了解。我想让我的颤振应用程序允许用户使用下载数据启动ADM来下载文件。现在我尝试了不同的方法,但似乎确实奏效了。我试过了,但没有启动

    ListTile(
        title: Text("ADM LAUNCH"),
        onTap: () async {
          String adm = "com.dv.adm";
          if (await canLaunch(adm)) {
            await launch(adm);
          } else {
            throw ("can't launch ");
          }
        },
      ),
我也尝试了android intent:

  ListTile(
        title: Text("android intent"),
        onTap: () async {
          final AndroidIntent intent = AndroidIntent(
            action: 'action_view',
            package: 'com.dv.adm',
          );
          await intent.launch();
        },
      ),
如何从应用程序启动ADM并传入下载参数?还有,我必须通过什么样的论证?像链接或url?

找到了这样做的方法: 软件包:android intent、设备应用程序

首先将活动添加到应用程序标记中的AndroidManifest.xml:

   <!-- Android ADM intent -->
    <activity android:name="com.dv.adm"
      android:exported="true">
      <intent-filter>
            <action android:name="android.intent.action.MAIN">
            </action>
        </intent-filter>
    </activity>
   <!-- END OF ADM INTENT -->

颤振代码:

  import 'package:device_apps/device_apps.dart';
  import 'package:android_intent/android_intent.dart';

  download(String url, String fileName) async {
    bool isInstalled = await DeviceApps.isAppInstalled('com.dv.adm');

    if (isInstalled) {
        final AndroidIntent intent = AndroidIntent(
      action: 'action_main',
      package: 'com.dv.adm',
      componentName: 'com.dv.adm.AEditor',
      arguments: <String, dynamic>{
        'android.intent.extra.TEXT': url,
        'com.android.extra.filename': "$fileName.mp4",
      },
    );
    await intent.launch().then((value) => null).catchError((e) => print(e));
    } else {
      // ask user to install the app
    }
  }
import'package:device_apps/device_apps.dart';
导入“包:android_intent/android_intent.dart”;
异步下载(字符串url、字符串文件名){
bool isInstalled=wait DeviceApps.isAppInstalled('com.dv.adm');
如果(已安装){
最终雄激素意图=雄激素(
动作:“动作”,
包:“com.dv.adm”,
组件名称:“com.dv.adm.AEditor”,
论据:{
'android.intent.extra.TEXT':url,
'com.android.extra.filename':“$filename.mp4”,
},
);
wait intent.launch().then((value)=>null.catchError((e)=>print(e));
}否则{
//要求用户安装应用程序
}
}
这将使用您提供的参数打开ADM编辑器