gpt4 book ai didi

android - 如何使用 Intent Action_send 在 Twitter 上发帖?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:29:48 25 4
gpt4 key购买 nike

我一直在努力将文本从我的应用程序发送到 Twitter。

下面的代码可以显示一个应用程序列表,例如蓝牙、Gmail、Facebook 和 Twitter,但是当我选择 Twitter 时,它并没有像我预期的那样预填充文本。

我知道在 Facebook 上执行此操作存在问题,但我一定是做错了什么,它不能与 Twitter 一起使用。

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, "Example Text");
startActivity(Intent.createChooser(intent, "Share Text"));

最佳答案

我在我的代码中使用了这个 fragment :

private void shareTwitter(String message) {
Intent tweetIntent = new Intent(Intent.ACTION_SEND);
tweetIntent.putExtra(Intent.EXTRA_TEXT, "This is a Test.");
tweetIntent.setType("text/plain");

PackageManager packManager = getPackageManager();
List<ResolveInfo> resolvedInfoList = packManager.queryIntentActivities(tweetIntent, PackageManager.MATCH_DEFAULT_ONLY);

boolean resolved = false;
for (ResolveInfo resolveInfo : resolvedInfoList) {
if (resolveInfo.activityInfo.packageName.startsWith("com.twitter.android")) {
tweetIntent.setClassName(
resolveInfo.activityInfo.packageName,
resolveInfo.activityInfo.name);
resolved = true;
break;
}
}
if (resolved) {
startActivity(tweetIntent);
} else {
Intent i = new Intent();
i.putExtra(Intent.EXTRA_TEXT, message);
i.setAction(Intent.ACTION_VIEW);
i.setData(Uri.parse("https://twitter.com/intent/tweet?text=" + urlEncode(message)));
startActivity(i);
Toast.makeText(this, "Twitter app isn't found", Toast.LENGTH_LONG).show();
}
}

private String urlEncode(String s) {
try {
return URLEncoder.encode(s, "UTF-8");
} catch (UnsupportedEncodingException e) {
Log.wtf(TAG, "UTF-8 should always be supported", e);
return "";
}
}

希望对您有所帮助。

关于android - 如何使用 Intent Action_send 在 Twitter 上发帖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14317512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com