如何在Android和IOS上打开带有flutter的PlayStore/AppStore的特定URL,这取决于它是在哪款智能手机上执行的?我的意思是我想打开应用程序,而不是浏览器或类似的东西。
在这个thread中,我发现了一些android的原生方式,但是我怎么能用flutter做到呢?
final String appPackageName = getPackageName(); // getPackageName() from Context or Activity object
try {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
} catch (android.content.ActivityNotFoundException anfe) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName)));
}
如果目前还没有办法做到这一点,这将是一个很好的功能实现插件url_launcher。
7条答案
按热度按时间dgjrabp21#
你可以用这个Library
基本上,要使用这个插件,在pubspec.yaml文件中添加
launch_review
作为依赖项。使用:
然后在Dart代码的任何地方调用LaunchReview的静态启动方法。如果没有提供参数,它将考虑当前包。
要打开任何其他应用程序的App Store页面,您可以传递应用程序ID。
6za6bjd02#
您可以使用url_luncher并打开基于平台的url,如下所示:
http://itunes.apple.com/lookup?bundleId=YOUR_BUNDLE_ID
获取iOS应用ID,然后查找trackId
mode
设置为LaunchMode.externalApplication
将"阻止" safari闪光灯一秒钟w8f9ii693#
你可以在flutter中做类似的事情:
由于某种原因,异常/catch似乎不起作用,所以添加“finally”就成功了,finally:)
wfauudbj4#
您可以使用url_launcher包打开appstore/playstore,如下所示:
u0sqgete5#
这就像是这个问题最流行的答案,但不需要说Android包.另外,这个解决方案不显示Android上的吐司说“请评价应用程序”.
它取决于open_store和package_info_plus。
3phpmpom6#
你可以用这个插件。这里
超级简单。要使用这个插件,只需像这样在你的dart代码上写上包名(app id)。
vbkedwbf7#
您也可以尝试store_launcher
示例