任何人都可以告诉我如何使用颤动打开另一个应用程序?实际上我想用我的颤动应用程序中的链接打开音乐应用程序

问题描述 投票:0回答:2

我想用firebase中的链接数据打开一堆音乐应用程序链接。我想打开,amazonPrimeMusic,Ganna,Spotify,Wynk,JioSavaan等等。

Widget buildResultCard(data) {
  List items = [Text(data['Ganna']),
    IconButton(icon:Icon(Icons.all_inclusive),
      onPressed: ()=> {Text("Ganna")}
    ),

    Text(data['Wynk']),
    IconButton(icon:Icon(Icons.all_inclusive),
      onPressed: ()=> {Text("Ganna")}
    ),

    Text(data['JioSavaan']),
    IconButton(icon:Icon(Icons.all_inclusive),
      onPressed: ()=> {Text("Ganna")}
    ),

    Text(data['PrimeMusic']),
    IconButton(icon:Icon(Icons.all_inclusive),
      onPressed: ()=> {Text("Ganna")}
    )
  ];

  return ListView.builder(
    padding: EdgeInsets.only(top: 20),
    itemCount: items.length,
    itemBuilder: (BuildContext context, int index) {
      return items[index];
    },
  );
}

当我点击列表中的按钮时,它应该打开链接所在的特定应用程序,例如对于AmazonPrimeMusic链接,它应该打开亚马逊音乐应用程序。

dart flutter explicit-intent
2个回答
1
投票

你可以使用flutter_appavailability包。此插件允许您检查是否在移动设备中安装了应用程序,并使用此插件可以启动应用程序。

如果已安装,则使用url_launcher启动WebView中的其他打开链接。


0
投票

将此添加到依赖项下的pubspec.yaml文件中 -

  device_apps:
  android_intent:
  url_launcher:

并将这些添加到顶部 -

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

这是示例代码 -

_openJioSavaan (data) async
{String dt = data['JioSavaan'] as String;
  bool isInstalled = await DeviceApps.isAppInstalled('com.jio.media.jiobeats');
if (isInstalled != false)
 {
    AndroidIntent intent = AndroidIntent(
      action: 'action_view',
      data: dt
  );
  await intent.launch();
 }
else
  {
  String url = dt;
  if (await canLaunch(url)) 
    await launch(url);
   else 
    throw 'Could not launch $url';
}
}
© www.soinside.com 2019 - 2024. All rights reserved.