我正在使用全局共享意图共享一些文本,如下所示;
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
intent.setAction(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, "Some Text");
startActivity(intent);
答案 0 :(得分:0)
如何使用ShareActionProvider
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_item_share"
app:showAsAction="ifRoom"
android:title="Share"
app:actionProviderClass="android.support.v7.widget.ShareActionProvider" />
...
</menu>
它不应该要求Just Once
和'Always`选项。您可以在“菜单选项”中或任何您想要的位置添加此菜单。
答案 1 :(得分:0)
有一种方法可以使用PackageManager
清除自己成为defailt活动,但您无法清除其他活动。
因此,为解决方法,您可以为此目的构建自己的UI。例如,输入BottomSheet数据,你就是这样:
PackageManager manager = context.getPackageManager();
List<ResolveInfo> infos = manager.queryIntentActivities(intent, 0);
if (infos.size() > 0) {
//do UI stuff
} else {
//No Application can handle your intent
}
它看起来像: