ShareActionProvider 为设备上的每个兼容应用程序提供共享。我想指定我希望允许共享的应用程序,例如只有 twitter 和 gmail。
我该怎么做?
ShareActionProvider 为设备上的每个兼容应用程序提供共享。我想指定我希望允许共享的应用程序,例如只有 twitter 和 gmail。
我该怎么做?
谷歌不建议你分享到特定的应用程序,因为有各种不同的 Twitter 客户端——最好让人们选择他们想要分享的地方。
但是,以下代码将在按下按钮时向 twitter 发送消息“hello twitter”。
String message = "hello Twitter";
try {
//try to open the official twitter app
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
sharingIntent.putExtra(
android.content.Intent.EXTRA_SUBJECT, "Subject");
sharingIntent.putExtra(Intent.EXTRA_TEXT, message);
sharingIntent.setPackage("com.twitter.android");
startActivity(sharingIntent);
} catch (Exception e) {
//fallback on opening an internet browser
Log.e("Danielle", "exception=" + e.toString());
Intent i = new Intent();
i.putExtra(Intent.EXTRA_TEXT, message);
i.setAction(Intent.ACTION_VIEW);
i.setData(Uri
.parse("https://mobile.twitter.com/compose/tweet"));
startActivity(i);
}
希望有帮助。
如果您只使用弹出窗口没问题,dacoinminster 在这个问题如何过滤特定应用程序的 ACTION_SEND 意图(并为每个应用程序设置不同的文本)中的答案就可以了。
但是,如果您特别希望它成为 actionprovider 下拉列表,我也没有找到此解决方案。