小编Gre*_*reg的帖子

如何在其他类android Kotlin中使用此和上下文?

我想创建一个askMicrophonePermission函数Permission.class.并写Permission().askMicrophonePermission()onCreate().

我不知道如何改变ActivityCompat.checkSelfPermissionActivityCompat.requestPermissions能够在运行 Permission().askMicrophonePermission().

这是我的代码:

主要活动:

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        Permission().askMicrophonePermission()
    }
}
Run Code Online (Sandbox Code Playgroud)

允许:

class Permission {
    fun askMicrophonePermission(){

        val userMicrophonePermissionAgreeCode = 1
        val currentMicrophonePermission = ActivityCompat.checkSelfPermission(_________,android.Manifest.permission.RECORD_AUDIO)
        if (currentMicrophonePermission != PackageManager.PERMISSION_GRANTED){
           ActivityCompat.requestPermissions(_______________, arrayOf(android.Manifest.permission.RECORD_AUDIO), userMicrophonePermissionAgreeCode)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

android kotlin

6
推荐指数
1
解决办法
1万
查看次数

覆盖其他类上的 fun onRequestPermissionsResult

我写了Permission类,这里有askMicrophonePermission 方法。

askMicrophonePermission中,我使用ActivityCompat.requestPermissions 函数。

但我无法覆盖 Permission类中的onRequestPermissionsResult

如果我想在Permission中覆盖 onRequestPermissionsResult,而不是在MainActivity中。

怎么写??这是我的代码。

主要活动:

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        Permission().askMicrophonePermission(this@MainActivity)
    }
}
Run Code Online (Sandbox Code Playgroud)

允许:

class Permission{
    private val tag = "Permission message"
    private val userMicrophonePermissionAgreeCode = 1

    fun askMicrophonePermission(context: Context){

        val currentMicrophonePermission = ActivityCompat.checkSelfPermission(context,android.Manifest.permission.RECORD_AUDIO)


        if(currentMicrophonePermission != PackageManager.PERMISSION_GRANTED)
            ActivityCompat.requestPermissions(context as Activity, arrayOf(android.Manifest.permission.RECORD_AUDIO), userMicrophonePermissionAgreeCode)
    }

    override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) { …
Run Code Online (Sandbox Code Playgroud)

android kotlin

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×2

kotlin ×2