- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在使用 ShareActionProvider 时遇到问题。我喜欢通过 ShareActionProvider 共享 webview 的当前 url(url 可以通过 JS 动态更改)。为此,我覆盖了 onOptionsItemSelected 以通过 setShareIntent 更改 Intent。但是当我单击 ShareActionProvider 并通过特定应用程序共享它时,没有任何反应。我调试了它,发现没有触发 onOptionsItemSelected。有人可以帮帮我吗?
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.game, menu);
MenuItem mShareActionProviderItem = (MenuItem) menu.findItem(R.id.action_share);
mShareActionProvider = (ShareActionProvider) mShareActionProviderItem.getActionProvider(); // is a field
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
mShareActionProvider.setShareIntent(sendIntent); //needed to be able to click on Item
mShareActionProviderItem.getActionView().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String url = ((GameFragment) getFragmentManager().findFragmentByTag(GAME_FRAGMENT)).getUrl();
/*ShareButton set URL*/
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_TEXT, String.format(getResources().getString(R.string.share_text), url));
mShareActionProvider.setShareIntent(sendIntent);
}
});
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.action_share:
/*URL holen*/
String url = ((GameFragment) getFragmentManager().findFragmentByTag(GAME_FRAGMENT)).getUrl();
/*ShareButton mit URL bestücken*/
ShareActionProvider mShareActionProvider = (ShareActionProvider) item.getActionProvider();
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_TEXT, String.format(getResources().getString(R.string.share_text), url));
mShareActionProvider.setShareIntent(sendIntent);
break;
default:
return super.onOptionsItemSelected(item);
}
return true;
最佳答案
我知道有点晚了,但我遇到了同样的问题,我通过在我的 ShareActionProvider 对象上定义一个 OnShareTArgetSelectedListener 来解决它。 :
mShareActionProvider.setOnShareTargetSelectedListener(new OnShareTargetSelectedListener() {
@Override
public boolean onShareTargetSelected(ShareActionProvider arg0, Intent arg1) {
return false;
}
});
关于android - 判断是否触发 ShareActionProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16654718/
在我的项目中,我需要分享一些来自互联网的照片的链接。我可以在不创建选项菜单操作栏的情况下使用 ShareActionProvider 吗?谢谢。 最佳答案 没有。 ShareActionProvide
我有一个图库应用程序,它可以处理比 Android native 更多的图像格式。我想添加一个共享选项,允许用户以 jpeg 格式共享任何选定的图像。我更喜欢使用 ShareActionProvide
在我的应用程序中,我想在我的布局中而不是在菜单项中显示所有共享操作提供程序。我可以使用 ShareActionProvider 轻松显示那些,但根据项目要求,我需要在我的布局中的 Listview 中
我正在尝试从我正在开发的应用程序发送图像,我有以下代码,但不知道如何从我的/drawable 文件夹中的文件创建 Uri,有什么想法吗? (此时很困惑) @Override public boolea
我正在使用下面的代码添加分享操作 和 private ShareActionProvider mShareActionProvider; private void s
我在使用 ShareActionProvider 时遇到问题。我喜欢通过 ShareActionProvider 共享 webview 的当前 url(url 可以通过 JS 动态更改)。为此,我覆盖
我的 ActionBar 中有 android.support.v7.widget.ShareActionProvider 菜单。 当我点击“分享”时,应用列表显示为弹出菜单。 当我在 Google
当用户点击 ShareActionProvider 时,我有这个菜单: 我怎样才能改变它的背景颜色。我想我必须设计它的样式,但我找不到任何方法。 最佳答案 如果没有关于如何应用样式的文档,您可能想查看
根据 Android 文档,如果我不希望我的 ShareActionProvider 保留我应该调用的共享历史记录 mShareActionProvider.setShareHistoryFileNa
我有一个 EditText,它最初是用本地数据库中的文本填充的。当用户离开屏幕(onPause)时,更新的文本存储在本地数据库中。我还有一个 ShareActionProvider(使用 Action
我的 ActionBar 中有一个 ShareActionProvider 和一些其他选项。然而,ShareActionProvider 似乎在首次以纵向模式呈现时无法正确呈现,并且在第一次呈现时不可
好吧,这是一个非常具体的问题:我的 ShareActionProvider 被用于论坛中的帖子。它有效(除了讨厌的 facebook,但我知道这是一个众所周知的问题)。但是,当我从弹出菜单中选择共享选
这个问题已经有答案了: Share button is greyed out and disabled (1 个回答) 已关闭 9 年前。 在我的应用程序中,我尝试添加一个共享按钮来执行与此相同的功能
我的 Android 应用程序有一个小问题。我正在创建标准菜单(使用 onCreateOptionsMenu)。我的菜单元素之一是共享按钮。此共享元素使用 OnShareTargetSelectedL
我正在使用 android.widget.ShareActionProvider 在我的菜单栏上显示共享图标。但是,我的菜单栏背景是白色的,我想将图标设为黑色。有办法吗? Screenshot
为什么当我在 ShareActionProvider 中使用过一次时,我的工具栏会扩展并带有消息图标?我不想要这种行为。 最佳答案 Why does my toolbar expand with th
将 ShareActioProvider 放在操作栏中并为其设置 Intent 是在 Android 上共享内容的一种简单方法。 我想在您点击共享菜单项时出现在屏幕上的下拉菜单中添加我自己的操作(例如
我已经在操作栏中实现了共享图标。按下它,然后选择要共享的源后,图标会变宽并显示您上次共享的源。 我不希望在他们选择源后弹出第二个图标。如何阻止第二个图标出现? 最佳答案 fork ShareActio
我需要为我的 Android 应用程序创建一个自定义 ShareActionProvider 菜单,因为当我指定默认菜单时,我只得到“消息”、“蓝牙”和“Gmail”,而且我只想要“Facebook”
ActionBarSherlock (ABS) 是从最新源构建的。使用 ABS ShareActionProvider 时抛出异常。我可以逐步调试 onCreateOptionsMenu() 就好了。
我是一名优秀的程序员,十分优秀!