1

私はShareActionProviderのABSを使用しています。私はこのコードに従いました: 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 に答える