簡體   English   中英

Android Studio-ActivityCompat.requestPermissions中“ this”的正確用法是什么?

[英]What is the correct usage of “this” in Android Studio - ActivityCompat.requestPermissions?

在使用以下方法時,Android Studio在關鍵字“ this”上生成以下錯誤:

ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, MY_PERMISSIONS_REQUEST_READ_FINE_LOCATION);

錯誤:

錯誤的第一個參數類型...找到com.websmithing.wp.gpstracker.LocationService,需要android.app。 活動

評估清單文件權限檢查時,我可以使用“ this”引用活動,而沒有出現以下錯誤。

ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)   !=
  PackageManager.PERMISSION_GRANTED &&
ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) !=
  PackageManager.PERMISSION_GRANTED) {

誰能指出我正確的方向?

this是指當前階級。 僅當您在活動中同時請求許可時, this才適用。

發送來自服務的通知,以便當用戶單擊它時,打開活動並詢問您所需的權限。

如何發送通知?

簡單參考構建通知

請注意錯誤消息。 它為您提供了解決方案。

錯誤的第一個參數類型...找到com.websmithing.wp.gpstracker.LocationService,需要android.app。 活動

這意味着ActivityCompat.requestPermissions()期望將Activity作為第一個參數,但是您要提供LocationService實例。 我想您是從內部類調用此函數,那么也許您必須使用WhateverYouActivityClassIs.this來引用外部類。

您必須在調用該類的活動中編寫checkSelfpermission代碼。

暫無
暫無

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

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