shareactionprovider:如何知道哪个应用正在共享内容?

时间:2014-01-11 18:53:25

标签: android actionbarsherlock

大家好我认为这个问题是自我解释的。我想在不同的应用程序上分享不同的内容。 我使用下面的代码来分享工作正常的内容。但所有应用程序上的共享内容是相同的。但我尝试搜索谷歌一点,似乎没有关于如何在不同的应用程序上分享不同内容的文章? 我不认为代码是必要的,但是如果有人需要它的话就是这样。

public boolean onCreateOptionsMenu(Menu menu) {
        getSupportMenuInflater().inflate(R.menu.item_display_menu, menu);
        getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.ab_solid_reggys));
        mShareActionProvider = (ShareActionProvider) menu.findItem(
                R.id.shareButton).getActionProvider();
        Intent intent = getDefaultShareIntent();
        if (intent != null)
            mShareActionProvider.setShareIntent(intent);
        return super.onCreateOptionsMenu(menu);

    }

2 个答案:

答案 0 :(得分:1)

您需要使用两种不同的意图来共享不同的内容(以及两个不同的用户可点击按钮)。这是因为mShareActionProvider.setShareIntent(intent);只需要一个Intent

通常这是正确的行为,因为您正在执行“共享文字”或“分享图片”等操作,如果您需要检测您要分享的应用,则不再进行广义宣传。

答案 1 :(得分:0)

@Override
    public boolean onShareTargetSelected(ShareActionProvider source, Intent intent) {
       shareTarget = intent.getComponent().getPackageName();
      Log.w("myApp", shareTarget);
      return false;

    }

这有效......