【发布时间】:2019-04-16 02:50:53
【问题描述】:
我正在开发一个应用程序,我想向特定号码发送 WhatsApp 消息
我使用了这段代码并进行了更正。
但是同时安装了 WhatsApp messenger 和商业 WhatsApp 的用户,此代码直接将消息发送到商业 WhatsApp,它没有显示允许用户在两个应用程序之间进行选择的选项
在 android 5 中它显示选项,但在 android 7 和 8 中它没有显示选项。它仅发送到企业 WhatsApp。
您能帮我允许在 android 7 和 8 中的两个应用程序之间进行选择吗?
private void openWhatsApp (String phoneNumber) {
boolean isWhatsappInstalled = whatsappInstalledOrNot("com.whatsapp");
if (isWhatsappInstalled) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://api.whatsapp.com/send?phone="+phoneNumber));
startActivity(intent);
} else {
Uri uri = Uri.parse("market://details?id=com.whatsapp");
Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
Toast.makeText(getActivity(), "WhatsApp not Installed",
Toast.LENGTH_SHORT).show();
startActivity(goToMarket);
}
}
private boolean whatsappInstalledOrNot(String uri) {
PackageManager pm = getActivity().getPackageManager();
boolean app_installed = false;
try {
pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
app_installed = true;
} catch (PackageManager.NameNotFoundException e) {
app_installed = false;
}
return app_installed;
}
【问题讨论】: