مدیریت کاربران مشترک
بروز خطا
امتیازات دریافتی
class RuntimePermissionsActivity
اسنیپ
length : 0
words : 0
lines : 0
package com.example.serversidebyasp.Class
import android.content.pm.PackageManager
import android.os.Bundle
import android.support.v4.app.ActivityCompat
import android.support.v4.content.ContextCompat
import android.support.v7.app.AppCompatActivity
abstract class RuntimePermissionsActivity : AppCompatActivity() {
override fun onCreate( savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<String>, grantResults: IntArray) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
var permissionCheck = PackageManager.PERMISSION_GRANTED
for (permission in grantResults) {
permissionCheck = permissionCheck + permission
}
if (grantResults.size > 0 && permissionCheck == PackageManager.PERMISSION_GRANTED) {
onPermissionsGranted(requestCode)
} else {
onPermissionsDeny(requestCode)
}
}
fun requestAppPermissions(requestedPermissions: Array<String>, requestCode: Int) {
var permissionCheck = PackageManager.PERMISSION_GRANTED
var shouldShowRequestPermissionRationale = false
for (permission in requestedPermissions) {
permissionCheck = permissionCheck + ContextCompat.checkSelfPermission(this, permission)
shouldShowRequestPermissionRationale =
shouldShowRequestPermissionRationale || ActivityCompat.shouldShowRequestPermissionRationale(
this,
permission
)
}
if (permissionCheck != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, requestedPermissions, requestCode)
} else {
onPermissionsGranted(requestCode)
}
}
abstract fun onPermissionsGranted(requestCode: Int)
abstract fun onPermissionsDeny(requestCode: Int)
}
class MainActivity : RuntimePermissionsActivity() { // ارث بری به اکتیویتی
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
chekPermissions()
}
//--------------Permission Function---------------و اضافه کردن توابع زیر برای ایجاد دسترسی ها
fun chekPermissions() {
requestPermissions(arrayOf(android.Manifest.permission.WRITE_EXTERNAL_STORAGE), keys.Code_Permition_CopyDB)
}
override fun onPermissionsGranted(requestCode: Int) {
when (requestCode) {
keys.Code_Permition_CopyDB -> {
copyDataBase()
}
}
}
override fun onPermissionsDeny(requestCode: Int) {
Toast.makeText(this, " دسترسی لازمه صادر نشد ادامه برنامه ممکن نیست.", Toast.LENGTH_LONG).show()
}
حقوق مادی و معنوی تمامی آثار و محتویات عرضه شده در این وب سایت، متعلق به شرکت «فوژان رسانه ایده هوشمند» و پدیدآورندگان آثار بوده و حسب مورد دارای مجوز از مراجع ذی صلاح می باشد.
کپی برداری از مطالب این سایت حتی با ذکر منبع جایز نیست.