1

我正在使用 ABS ShareActionProvider。我已遵循此代码:https ://github.com/JakeWharton/ActionBarSherlock/blob/master/samples/demos/src/com/actionbarsherlock/sample/demos/ShareActionProviders.java及其与最新版本的Android(4.0 +) 但不适用于 Android 2.x,我无法单击该图标。

这是我的代码:

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.share, menu);

    MenuItem actionItem = menu.findItem(R.id.menu_item_share_action_provider_action_bar);
    actionProvider = (ShareActionProvider) actionItem.getActionProvider();
    actionProvider.setShareHistoryFileName(null);
    actionProvider.setShareIntent(share("More apps : https://play.google.com/store/apps/developer?id=Stéphane+Mathis"));

    if(mItem != null)
    {
        actionProvider.setShareIntent(share(mItem.content));        
    }

    super.onCreateOptionsMenu(menu, inflater);
}

private Intent share(String message) 
{
    final Intent MessIntent = new Intent(Intent.ACTION_SEND);
    MessIntent.setType("text/plain");
    MessIntent.putExtra(Intent.EXTRA_TEXT, message);
    return MessIntent;
}

我错过了什么 ?

编辑:我尝试了 ABS 的“官方”演示,它在模拟器中不起作用,但它在真实设备上运行。这与我的代码相同,使用真实设备(使用 4.1.2、4.2.1 和 2.3.3 测试)但不在模拟器中。那我该怎么办?当我在模拟器中测试它时发布一个不起作用的应用程序,我感到不舒服。

4

1 回答 1

3

我认为这是由于此处描述的错误,简而言之,模拟器安装的应用程序不超过 1 个能够获得此共享意图。

于 2013-02-07T15:37:48.847 回答