如何减少Android中的开放联系人的点击数

如何减少Android中的开放联系人的点击数

问题描述:

我是Android新手。我想在获得许可后打开联系人。我的问题是在开始时,我需要点击拖拽按钮,一个用于获取权限,另一个用于打开联系人。如何减少Android中的开放联系人的点击数

有什么办法得到许可,而无需任何点击2次后,立即打开联系人

+0

你尝试添加你的行动,你的onRequestPermissionsResult? – Ashkan

+0

是的,方法是运行您的代码,在那里获得授予权限的回调 –

是的,你可以处理像按钮单击事件这个

1.ask许可请求的许可结果

btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      String permission = android.Manifest.permission.READ_CONTACTS; 
      if (ActivityCompat.checkSelfPermission(SearchCityClass.this, permission) 
        != PackageManager.PERMISSION_GRANTED) { 
       ActivityCompat.requestPermissions(SearchCityClass.this, new String[] 
         {permission}, PERMISSION_CODE); 

      } else { 
        isPermissionGranted(true);     

      } 
     } 

    }); 

2.手柄许可结果在onRequestPermissionsResult

@Override 
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, 
             @NonNull int[] grantResults) { 
    super.onRequestPermissionsResult(requestCode, permissions, grantResults); 
    if (requestCode == PERMISSION_CODE) { 
     if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { 


      isPermissionGranted(true);   

     } else { 

      isPermissionGranted(false);   
     } 
    } 

} 

3.now像这样

public void isPermissionGranted(boolean permission) { 
    if (!permission) { 
     // permission not granted 
    } else { 
    // add here your code beacuse permisiion is granted 

}

当你试图获得许可,您调用一个函数,告诉你需要创建一个方法。 (只需要获得许可的危险权限) 之后,当用户接受或拒绝时,它来到onRequestPermissionsResult

这个方法里面你可以检查你是否获得了权限,做你的动作。

  @Override 
     public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { 
      if (Manifest.permission.READ_CONTACTS) == PackageManager.PERMISSION_GRANTED) { 
      //do your action 
     } 

希望能帮助你