Created
January 20, 2017 13:17
-
-
Save witoong623/d28c13289b6c4af316cca4deafd3f015 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// เช็คว่า มี permission READ_CONTACTS รึเปล่า | |
if (ContextCompat.checkSelfPermission(thisActivity,Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) { | |
// เข้ามาในนี้ได้ แปลว่า ไม่มี | |
// Should we show an explanation? | |
if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity, | |
Manifest.permission.READ_CONTACTS)) { | |
// โชว์คำอธิบายแบบไม่บล็อค ตัวอย่างที่ไม่บล็อคก็เช่น toast ซึ่งข้อความันขึ้นมาบนจอก็จริง แต่โค้ดไม่ได้ค้าง | |
// this thread waiting for the user's response! After the user | |
// sees the explanation, try again to request the permission. | |
} else { | |
// No explanation needed, we can request the permission. | |
ActivityCompat.requestPermissions(thisActivity, | |
new String[]{Manifest.permission.READ_CONTACTS}, | |
MY_PERMISSIONS_REQUEST_READ_CONTACTS); | |
// MY_PERMISSIONS_REQUEST_READ_CONTACTS เป็นค่าที่แอพกำหนังขึ้นมาเอง หมายความว่า มีที่ไหนซักที่ที่เขียนว่า | |
// int MY_PERMISSIONS_REQUEST_READ_CONTACTS = 11; เรากำหนดขึ้นเพื่อจะได้รู้ว่า เมื่อมันส่งผลลัพธ์มา มันเป็นผลลัพของอะไร | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class demo extends AppCompatActivity implements ActivityCompat.OnRequestPermissionsResultCallback { | |
@Override | |
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { | |
// อันนี้ใช้ switch เพราะมีหลายอันที่ขอ | |
switch (requestCode) { | |
case MY_PERMISSIONS_REQUEST_READ_CONTACTS: { | |
// If request is cancelled, the result arrays are empty. | |
if (grantResults.length > 0 | |
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) { | |
// permission was granted, yay! Do the | |
// contacts-related task you need to do. | |
} else { | |
// permission denied, boo! Disable the | |
// functionality that depends on this permission. | |
} | |
return; | |
} | |
// other 'case' lines to check for other | |
// permissions this app might request | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment