gpt4 book ai didi

android - 使用 ShareActionProvider 时如何关闭共享历史记录?

转载 作者:IT老高 更新时间:2023-10-28 22:14:06 26 4
gpt4 key购买 nike

Android 4.0 中提供的新 ShareActionProvider(如果您使用的是 ActionBarSherlock,则在更早的版本中)具有一项功能,即最后使用的项目会显示在操作栏中。有什么办法可以关掉吗?

最佳答案

对我来说,避免历史图标的最佳解决方案是不要使用 ShareActionProvider,而是像任何其他操作一样创建它:

 <item 
android:id="@+id/menu_action_share"
android:showAsAction="ifRoom"
android:icon="@drawable/ic_action_share"
android:title="@string/share"/>

在 menu/activity_actions.xml 中放置一个带有 ic_action_share 图标的项目...

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_actions, menu);
return super.onCreateOptionsMenu(menu);
}

正常膨胀菜单...

private void actionShare(){
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_SUBJECT, "my string");
i.putExtra(Intent.EXTRA_TEXT, "another string");
startActivity(i);
//Or like above will always display the chooser
//startActivity(Intent.createChooser(i, getResources().getText(R.string.share)));
}

创建一个带有 ACTION_SEND Intent 的方法

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_item_share:
actionShare();
return true;
default:
return super.onOptionsItemSelected(item);
}
}

最后从 onOptionsItemSelected 调用这个方法

更多信息 -> Sending Simple Data to Other Apps

关于android - 使用 ShareActionProvider 时如何关闭共享历史记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10706564/

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