java - 将视频从 android 设备分享到 Whatsapp
问题描述
我正在使用以下代码将视频从 android 设备共享到 whatsapp:
public void shareVideoWhatsApp() throws IOException {
File SDCardRoot = Environment.getExternalStorageDirectory();
String fileName = "test.mp4";
File v = new File(SDCardRoot, fileName);
// Uri uri = Uri.fromFile(v);
Uri uri = FileProvider.getUriForFile(this,BuildConfig.APPLICATION_ID + ".provider",v);
Intent videoshare = new Intent(Intent.ACTION_SEND);
videoshare.setType("video/*");
videoshare.setPackage("com.whatsapp");
videoshare.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
videoshare.putExtra(Intent.EXTRA_STREAM,uri);
startActivity(videoshare);
}
我现在的问题是有两种类型的whatsapp:
- 普通whatsapp,包码com.whatsapp
- Whatsapp Business 与包代码 com.whatsapp.w4b
如何实现共享功能?
解决方案
由于 WhatsApp 和 WhatsApp for Business 是两个不同的应用程序,您不能同时向它们发送意图。你可以做的是
- 让用户选择他们想要发送到哪个 WhatsApp 应用程序。我建议这样做,因为大多数用户在商业应用程序和普通应用程序上都有相同的联系人。
- 同时发送给他们两个。只需在另一个之后开始活动
推荐阅读
- excel - 如何克服错误 1004 对象 _global 范围失败
- react-native - TypeError:undefined is not a function(评估'store.getState()')
- c++ - 如何在现代 GLSL 中使用点精灵绘制非均匀缩放的 3D 球体(椭圆体)?
- java - 标有 ==$0 的硒重复元素
- google-cloud-platform - 使用 terraform 向 GCP 实例添加 ssh 密钥有效,但在控制台上显示错误
- snmp - 64位网络snmp下载
- r - 将 R 代码转换为 Markdown 或 RNotebok
- azure - Azure Active Directory 和 Azure DevOps
- javascript - Javascript:将图像转换为 base64 不完整?
- node.js - 运行“npm install -g create-react-app”命令时出现类似“Error eacces mkdir”的错误