当我尝试使用意图机制共享文本并选择WhatsApp时,它说:
无法发送空消息
我在这里阅读了有关Android集成的官方文档:https://faq.whatsapp.com/en/android/28000012
我的代码:
public void shareText(String label, CharSequence title, CharSequence body) {
final Intent intent = new Intent(Intent.ACTION_SEND);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, title.toString());
intent.putExtra(Intent.EXTRA_TEXT, TextUtils.concat(title, body));
final Intent chooser = Intent.createChooser(intent, label);
chooser.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if (chooser.resolveActivity(mContext.getPackageManager()) != null) {
mContext.startActivity(chooser);
}
}
我做错什么了吗?还是WhatsApp Messenger的错误?
P.S。在我的情况下,参数title
和body
不能为空。
答案 0 :(得分:2)
您要做的是
intent.putExtra(Intent.EXTRA_TEXT, TextUtils.concat(title, body));
而TextUtils.concat(title, body)
返回CharSequence
可能是whatsapp不支持的。
您必须将值作为String传递,给您两个解决方案。
intent.putExtra(Intent.EXTRA_TEXT, TextUtils.concat(title, body).toString());
String someValue = TextUtils.concat(title, body).toString();
并将其添加为
intent.putExtra(Intent.EXTRA_TEXT, someValue);
答案 1 :(得分:1)
在这里您可以将数据从您的应用发送到Whatsapp
和其他任何messenger
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("text/plain");
share.putExtra(Intent.EXTRA_TEXT, " Your text ");
startActivity(Intent.createChooser(share, " Your text "));
答案 2 :(得分:0)
这里的 sendEmtpyMassages 是 Button 只需复制这个方法就行了
sendEmtpyMassages.setOnClickListener {
val context: Context = applicationContext
val sendIntent = Intent("android.intent.action.MAIN")
sendIntent.action = Intent.ACTION_VIEW
sendIntent.setPackage("com.whatsapp")
val url = "https://api.whatsapp.com/send?phone=" + "&text=" + " "
sendIntent.data = Uri.parse(url)
if (sendIntent.resolveActivity(context.packageManager) != null) {
startActivity(sendIntent)
}
}