I added this configuration in my build.gradle file.
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 26
defaultConfig {
applicationId "dominando.android.persistencia"
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
kapt {
generateStubs = true
}
dependencies {
...
implementation ("com.github.hotchemi:permissionsdispatcher:3.1.0") {
exclude module: "support-v13"
}
kapt "com.github.hotchemi:permissionsdispatcher-processor:3.1.0"
}
I'm using in my activity like as usual...
@RuntimePermissions
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
btnRead.setOnClickListener {
loadFromExternalWithPermissionCheck()
}
btnSave.setOnClickListener {
saveToExternalWithPermissionCheck()
}
}
@NeedsPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
fun saveToExternal() { /* saving a file */ }
@NeedsPermission(Manifest.permission.READ_EXTERNAL_STORAGE)
fun loadFromExternal() { /* reading a file */ }
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
onRequestPermissionsResult(requestCode, grantResults)
}
@OnPermissionDenied(Manifest.permission.WRITE_EXTERNAL_STORAGE)
fun showDeniedForExternal() {
Toast.makeText(this, R.string.permission_denied, Toast.LENGTH_SHORT).show()
}
}
The application is compiling and running fine. However, Android Studio displays errors in the generated methods saveToExternalWithPermissionCheck(), loadFromExternalWithPermissionCheck() and onRequestPermissionsResult(Int, IntArray).
generateStubs is sort of old fashioned style. please see our sample and official doc. Thank you!
https://kotlinlang.org/docs/reference/kapt.html
https://github.com/permissions-dispatcher/PermissionsDispatcher/blob/master/sample-kotlin/build.gradle
Thanks! It works!
I just removed the kapt block and added
apply plugin: 'kotlin-kapt'
Most helpful comment
Thanks! It works!
I just removed the
kaptblock and added