title: requestPermissions in a fragment
body: <p>I added setHasOptionsMenu(true); in onCreateView. I want to call onRequestPermissionsResult but there is a problem in onOptionsItemSelected.
  This is in a fragment and if I use v4.fragment, it creates different problems.
  I will use import android.app.Fragment; but requestPermissions want --Call requires API level 23 (current min is 16):-- I tried a few solution. I guess only way to solve api level problem. How can I solve it? </p>
  
  <pre><code>@Override
  public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
  {
      menu.add("").setIcon(android.R.drawable.ic_menu_call).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
  }
  
  @Override
  public boolean onOptionsItemSelected(MenuItem item)
  {
      if (ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED)
      {
          if (ActivityCompat.shouldShowRequestPermissionRationale(getActivity(), Manifest.permission.READ_CONTACTS))
          {
          }
          else
          {
              ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.CALL_PHONE}, MY_PERMISSIONS_REQUEST_READ_CONTACTS);
              MenuFragment.this.requestPermissions( new String[]{Manifest.permission.CALL_PHONE}, MY_PERMISSIONS_REQUEST_READ_CONTACTS);
              requestPermissions( new String[]{Manifest.permission.CALL_PHONE}, MY_PERMISSIONS_REQUEST_READ_CONTACTS);
          }
      }
      return super.onOptionsItemSelected(item);
  }
  
  @Override
  public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults)
  {
      Toast.makeText(getActivity(), "Here", Toast.LENGTH_LONG).show();
      AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
      //AlertDialog.Builder builder = new AlertDialog.Builder(this);
     .
     .
     .
  </code></pre>