Permissions
Understanding Runtime Permissions and their implementation in Android
Introduction to Permissions
Android में permissions user privacy और security को protect करने के लिए important हैं। Android 6.0 (API level 23) से, dangerous permissions को runtime पर request करना पड़ता है।
Permissions in Android are important for protecting user privacy and security. Since Android 6.0 (API level 23), dangerous permissions must be requested at runtime.
Key Features (मुख्य विशेषताएं):
- Permissions user privacy को protect करते हैं
- Permissions protect user privacy
- Permissions runtime पर request किए जाते हैं
- Permissions are requested at runtime
- Permissions को groups में organize किया जाता है
- Permissions are organized in groups
- Permissions को check और request किया जा सकता है
- Permissions can be checked and requested
Types of Permissions (परमिशन्स के प्रकार)
Android में permissions के main types:
Main types of permissions in Android:
Type (प्रकार) | Description (विवरण) |
---|---|
Normal Permissions | Install time पर automatically granted होते हैं |
Normal Permissions | Automatically granted at install time |
Dangerous Permissions | Runtime पर user से request किए जाते हैं |
Dangerous Permissions | Requested from user at runtime |
Special Permissions | System settings से granted होते हैं |
Special Permissions | Granted from system settings |
Implementation Example (इम्प्लीमेंटेशन उदाहरण)
Permissions को implement करने का example:
Example of implementing permissions:
// Add permissions to AndroidManifest.xml
// Check and request permissions
class MainActivity : AppCompatActivity() {
private val CAMERA_PERMISSION_CODE = 100
private val STORAGE_PERMISSION_CODE = 101
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Check camera permission
if (checkSelfPermission(Manifest.permission.CAMERA)
== PackageManager.PERMISSION_GRANTED) {
// Permission already granted
openCamera()
} else {
// Request permission
requestPermissions(
arrayOf(Manifest.permission.CAMERA),
CAMERA_PERMISSION_CODE
)
}
}
override fun onRequestPermissionsResult(
requestCode: Int,
permissions: Array,
grantResults: IntArray
) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
when (requestCode) {
CAMERA_PERMISSION_CODE -> {
if (grantResults.isNotEmpty() &&
grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// Permission granted
openCamera()
} else {
// Permission denied
showPermissionDeniedMessage()
}
}
}
}
private fun openCamera() {
// Open camera
}
private fun showPermissionDeniedMessage() {
// Show message
}
}
Best Practices (सर्वोत्तम प्रथाएं)
Permissions के साथ काम करने के best practices:
Best practices for working with permissions: