我的應用程式第一次打開時,應該會出現一個對話框片段(在 中MainActivity),解釋為什么需要某些權限,最后有一個接受按鈕。我為此按鈕設定了一個 onClick 偵聽器,我想在其中顯示默認彈出視窗以請求權限。為此,我需要該ActivityCompat.requestPermission()函式,該函式需要在其中打開它的活動。我嘗試了幾種方法,例如MainActivity()、this@MainActivity或this@WelcomeDialogFragment等,但這些都不起作用。
有沒有辦法做到這一點?(按下按鈕后,對話框關閉。)這是我的 WelcomeDialogFragment 類:
class WelcomeDialogFragment : DialogFragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
val rootView : View = inflater.inflate(R.layout.welcome_popup, container, false)
rootView.accept_btn.setOnClickListener {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
ActivityCompat.requestPermissions(
this@MainActivity, arrayOf(
Manifest.permission.ACCESS_BACKGROUND_LOCATION
), PackageManager.PERMISSION_GRANTED)
}
ActivityCompat.requestPermissions(
this@MainActivity, arrayOf(
Manifest.permission.SEND_SMS, Manifest.permission.READ_CONTACTS
), PackageManager.PERMISSION_GRANTED)
dismiss()
}
return rootView
}
}
謝謝你。
uj5u.com熱心網友回復:
您可以使用getActivity()或requireActivity(),例如:
ActivityCompat.requestPermissions(requireActivity(), list_of_permissions)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/324313.html
標籤:爪哇 安卓 xml 科特林 android-fragments
上一篇:標簽布局不顯示片段
