setHasOptionsMenu (true)를 추가했습니다. inCreateView에서. onRequestPermissionsResult를 호출하려고하지만 onOptionsItemSelected에 문제가 있습니다. 이것은 조각에 있고 v4.fragment를 사용하면 다른 문제가 발생합니다. import android.app.Fragment;를 사용합니다. requestPermissions want - 호출에는 API 수준 23 (현재 최소값은 16)이 필요합니다. - 몇 가지 해결책을 시도했습니다. 나는 API 수준의 문제를 해결할 수있는 유일한 방법이라고 생각합니다. 어떻게 해결할 수 있습니까?fragment에있는 requestPermissions
@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);
.
.
.