@Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); if (weChatUtils.getIWXAPI().isWXAppInstalled()) { inflater.inflate(R.menu.main_wechat, menu); } else { inflater.inflate(R.menu.main, menu); } MenuItem shareItem = menu.findItem(R.id.action_share); android.support.v4.view.ActionProvider actionProvider = MenuItemCompat.getActionProvider(shareItem); if (null != actionProvider && actionProvider instanceof ShareActionProvider) { mShareActionProvider.setShareHistoryFileName( ShareActionProvider.DEFAULT_SHARE_HISTORY_FILE_NAME); // mShareActionProvider.setShareIntent(Utils.getShareRawIntent(this)); mShareActionProvider.setOnShareTargetSelectedListener( new ShareActionProvider.OnShareTargetSelectedListener() { @Override public boolean onShareTargetSelected( ShareActionProvider shareActionProvider, Intent intent) { updateShareIntent(); return false; } }); updateShareIntent(); for (int i = 0; i < menu.size(); i++) { MenuItem item = menu.getItem(i); if (item.getItemId() == R.id.action_share) { View itemChooser = MenuItemCompat.getActionView(item); if (itemChooser != null) { itemChooser.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { EFLogger.i(TAG, "onClick"); ScreenshotUtils.shotBitmap(MainActivity.this, shareFileName); } }); } } } } return super.onCreateOptionsMenu(menu); }
@Override public boolean onOptionsItemSelected(MenuItem item) { // The action bar home/up action should open or close the drawer. // ActionBarDrawerToggle will take care of this. if (mDrawerToggle.onOptionsItemSelected(item)) { return true; } // Handle action buttons switch (item.getItemId()) { case R.id.action_share: // updateShareIntent(); showShare(); return true; case R.id.action_share_wechat: // updateShareIntent(); showShareWeChat(); return true; // case R.id.action_about: // showAbout(); // return true; default: return super.onOptionsItemSelected(item); } }