簡體   English   中英

Android Studio 中活動的乘法函數

[英]Multiply Function for Activity in Android Studio

**暈,我需要一點幫助,所以您可以看到有 2 個按鈕創建,但我通過模擬器運行該應用程序,它僅適用於請求許可的按鈕創建,但它不會用於活動 2,任何人都可以建議第二個按鈕工作? 我需要使用覆蓋樂趣嗎? ** 包 com.example.preludeprototpe

 import android.Manifest
 import android.content.Intent
 import android.content.pm.PackageManager
 import androidx.appcompat.app.AppCompatActivity
 import android.os.Bundle
 import android.util.Log
 import androidx.core.app.ActivityCompat
 import kotlinx.android.synthetic.main.activity1.*

 class Activity1 : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity1)


    // Its a buutton for go to the Activity 2,but its not working
    btncreate.setOnClickListener {
        Intent(this, Activity2::class.java).also {
            startActivity(it)
        }
    }
    // function for asking permission but its the only one worked
    btncreate.setOnClickListener {
        requestpermisson()
    }
    //button for go to Activity 3
    btnlogin.setOnClickListener {
        Intent(this, Activity3::class.java).also {
            startActivity(it)
        }
     }
 }

    // function for permission
   private fun writeExternalStorage() =
    ActivityCompat.checkSelfPermission(this,
        Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED

   private fun permissionInternet() =
    ActivityCompat.checkSelfPermission(this, Manifest.permission.INTERNET) == 
     PackageManager.PERMISSION_GRANTED

   private fun permissionCamera() =
    ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == 
     PackageManager.PERMISSION_GRANTED

    private fun permissionExternal() =
    ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == 
      PackageManager.PERMISSION_GRANTED

   private fun requestpermisson() {
    val permissionToRequest = mutableListOf<String>()
    if (!writeExternalStorage()) {
        permissionToRequest.add(Manifest.permission.WRITE_EXTERNAL_STORAGE)
    }
    if (!permissionInternet()) {
        permissionToRequest.add(Manifest.permission.INTERNET)
    }
    if (!permissionCamera()) {
        permissionToRequest.add(Manifest.permission.CAMERA)
    }
    if (!permissionExternal()) {
        permissionToRequest.add(Manifest.permission.CAMERA)
    }
    if(permissionToRequest.isNotEmpty()){
        ActivityCompat.requestPermissions(this,permissionToRequest.toTypedArray(),0)
     }
 }

 // fun for permission
  override fun onRequestPermissionsResult(
     requestCode: Int,
     permissions: Array<out String>,
     grantResults: IntArray
 ) {
     super.onRequestPermissionsResult(requestCode, permissions, grantResults)
     if(requestCode == 0 && grantResults.isNotEmpty()) {
         for(i in grantResults.indices) {
             if(grantResults[i] == PackageManager.PERMISSION_GRANTED) {
                 Log.d("PermissionRequest","${permissions[i]} granted")
                }
            }
        }
    }
 }

試過這個

// Its a buutton for go to the Activity 2,but its not working
        btncreate.setOnClickListener {
            requestpermisson()
            val intent = Intent(this, Activity2::class.java)
            startActivity(intent)
        }

        //button for go to Activity 3
        btnlogin.setOnClickListener {
            val intent = Intent(this, Activity3::class.java)
            startActivity(intent)
        }
    }

而不是創建新的

btncreate

你可以合並

請求權限()

在第一個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM