我的android项目中有下一个共享ImageView按钮:
final ImageView share = findViewById(R.id.btn_share);
share.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent(Intent.ACTION_SEND);
myIntent.setType("text/plane");
myIntent.putExtra(Intent.EXTRA_TEXT, some_url_from_my_app);
startActivity(Intent.createChooser(myIntent, "Share Using"));
}
});
我的问题是,当我单击按钮时,我只看到很少的应用程序,而不是手机中想要的所有应用程序,例如Facebook,Instagarm等...
我应该怎么做才能查看手机中的所有应用程序,以便能够共享所有应用程序的链接?
答案 0 :(得分:0)
我已经很长时间没有这样做了,所以不要把我所说的一切视为理所当然。
删除startActivity行。
使用res文件夹内的名称菜单创建一个XML Resource文件夹。 创建布局menu.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/share_menu">
<item
android:id="@+id/menu_item_share"
android:showAsAction="ifRoom"
android:title="Share"
android:actionProviderClass=
"android.widget.ShareActionProvider" />
</menu>
确保您覆盖onCreateOptionsMenu:
import android.support.v4.view.MenuItemCompat;
import android.support.v7.widget.ShareActionProvider;
...
private ShareActionProvider mShareActionProvider;
...
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate menu resource file.
// R.<XML resource folder>.<XML layout filename>
getMenuInflater().inflate(R.menu.menu, menu);
// Locate MenuItem with ShareActionProvider
MenuItem shareItem = menu.findItem(R.id.menu_item_share);
// Fetch and store ShareActionProvider
mShareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(shareItem);
// Return true to display menu
return true;
}
// Call to update the share intent
private void setShareIntent(Intent shareIntent) {
if (mShareActionProvider != null) {
mShareActionProvider.setShareIntent(shareIntent);
}
}
让我知道这是否有帮助。
答案 1 :(得分:0)
经过一些调查和几个小时,我设法解决了这个问题。 我所做的就是不做:
plot(xMix, which = 2, nclass=25, col2=c("dimgrey","black"))
我做到了:
myIntent.setType("text/plane");
这向我展示了所有可共享的应用。 关于Facebook分享,我使用了Facebook SDK。 希望这会有所帮助。