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,"Share on"));
现在它显示的是默认的选项如: Bluetooth, Email, Facebook, Gmail, LinkedIn, Messaging, Share Via Barcode
。 这些是安装程序吗?
我如何能从列表中删除一部分或者再添加一些?比如我想删除 Share Via Barcode
。
使用下面的代码在 Chooser Screen 添加一个新的 item
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("text/plain");
share.putExtra(Intent.EXTRA_TEXT, message);
Intent addIntent = ;//whatever you want
Intent chooser = new Intent(Intent.ACTION_CHOOSER);
chooser.putExtra(Intent.EXTRA_INTENT, share );
chooser.putExtra(Intent.EXTRA_TITLE, "title");
Intent[] intentArray = {addIntent };
chooser.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentArray);
startActivity(chooser);
但是删除特定的 items 是不可能的。因此你要使用Packagemanager.resolveActivity 来解决intent,并且创建自定义的 listview。
除非你知道Share Via Barcode的启动activity与其他的有什么不同