مدیریت کاربران مشترک
بروز خطا
امتیازات دریافتی
حساب
آموزش هوش مصنوعی برای برنامه نویسان
وبینار ها
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()
}