Whats 应用程序通过 href link 发送消息并为没有应用程序的用户回退
Whats app sending message via href link and fallback for users without app
我正在开发一个允许用户select link 打开 whatsapp 并向用户选择的联系人发送消息的社交页面。
我目前正在这样做,如下所示。
<a class="modal__link modal__link--whatsapp js-product-share__link--wa"
href="whatsapp://send?text=<?php echo $whatsappBody . " " . $currentUrl;?>" data-action="share/whatsapp/share">
此方法同时支持 IOS 和 Android。但是我的问题是,如果没有在以太网设备上安装 whatsapp,我只会收到一条通用错误消息。
理想情况下,我希望能够将用户重定向到适当的商店以下载 whatsapp。
任何人都可以深入了解当前的回退方法是什么吗?
boolean installed = appInstalledOrNot("com.whatsapp");
if(installed){
// do your task
}else{
try {
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + "com.whatsapp"));
i.addFlag(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
} catch (android.content.ActivityNotFoundException anfe) {
...
}
}
private boolean appInstalledOrNot(String uri) {
PackageManager pm = getPackageManager();
boolean app_installed;
try {
pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
app_installed = true;
}
catch (PackageManager.NameNotFoundException e) {
app_installed = false;
}
return app_installed;
}
试试这个,如果有效请告诉我
我正在开发一个允许用户select link 打开 whatsapp 并向用户选择的联系人发送消息的社交页面。
我目前正在这样做,如下所示。
<a class="modal__link modal__link--whatsapp js-product-share__link--wa"
href="whatsapp://send?text=<?php echo $whatsappBody . " " . $currentUrl;?>" data-action="share/whatsapp/share">
此方法同时支持 IOS 和 Android。但是我的问题是,如果没有在以太网设备上安装 whatsapp,我只会收到一条通用错误消息。
理想情况下,我希望能够将用户重定向到适当的商店以下载 whatsapp。
任何人都可以深入了解当前的回退方法是什么吗?
boolean installed = appInstalledOrNot("com.whatsapp");
if(installed){
// do your task
}else{
try {
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + "com.whatsapp"));
i.addFlag(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
} catch (android.content.ActivityNotFoundException anfe) {
...
}
}
private boolean appInstalledOrNot(String uri) {
PackageManager pm = getPackageManager();
boolean app_installed;
try {
pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
app_installed = true;
}
catch (PackageManager.NameNotFoundException e) {
app_installed = false;
}
return app_installed;
}
试试这个,如果有效请告诉我