android - Android 仅通过选定的社交媒体应用分享详细信息
问题描述
我想只与 whatsApp、viber、twitter 和 gmail 应用程序共享消息,所以编写我的代码如下使用Intent.createChooser
但它不起作用,甚至不显示错误我在片段中调用此方法...此代码在我的那里的另一个项目我在对话框中调用了这个方法..
public void shareDetails(String message) {
List<Intent> intentShareList = new ArrayList<Intent>();
Intent shareIntent = new Intent();
List<ResolveInfo> resolveInfoList = context.getPackageManager().queryIntentActivities(shareIntent, 0);
try {
for (ResolveInfo resInfo : resolveInfoList) {
String packageName = resInfo.activityInfo.packageName;
String name = resInfo.activityInfo.name;
if (packageName.contains("om.viber.voip") ||
packageName.contains("com.twitter.android") ||
packageName.contains("com.google.android.apps.plus") ||
packageName.contains("com.google.android.gm") ||
packageName.contains("com.whatsapp")) {
if (name.contains("com.twitter.android.DMActivity")) {
continue;
}
shareIntent.setComponent(new ComponentName(packageName, name));
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, message);
intentShareList.add(shareIntent);
}
}
if (intentShareList.isEmpty()) {
Toast.makeText(context, "No apps to share !", Toast.LENGTH_SHORT).show();
} else {
Intent chooserIntent = Intent.createChooser(intentShareList.remove(0), "Share Product Details via");
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentShareList.toArray(new Parcelable[]{}));
startActivity(chooserIntent);
}
} catch (Exception e) {
}
}
请帮忙
解决方案
String message = "Text I want to share.";
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("text/plain");
share.putExtra(Intent.EXTRA_TEXT, message);
startActivity(Intent.createChooser(share, "Title of the dialog the system will open"));
推荐阅读
- amazon-web-services - 在亚马逊管理的区块链上配置事件
- repository - 序列化导出接口时出错,无法加载转换 [null]:找不到目录
- azure - 在Azure虚拟机上部署网站并在互联网上访问
- unity3d - Unity 提供一个游戏对象 不要在加载时销毁
- algorithm - 它是否遵循某种算法或公式..?
- python - 在 ec2 上安装 tensorrt 5.1.5 时出现未满足的依赖项错误
- java - 分页Spring boot JPA异常:方法必须具有以下返回类型之一
- javascript - 我的页面将被视为 iframe 内容,我想删除滚动
- java - Heroku:如何指定 JVM buildpack 非 java 项目的路径?
- javascript - 为什么当我尝试将 php 变量添加到 sql 查询中时,我在 php 中的 sql 查询不起作用?