2017-05-19 3 views
0

, 안드로이드 스튜디오 "이"키워드에 다음과 같은 오류를 생성 :Android Studio - ActivityCompat.requestPermissions에서 "this"의 올바른 사용법은 무엇입니까? 아래의 방법을 사용하여

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

오류 : 나는 "이"오류없이 사용하는 활동을 참조 할 수 있습니다

Wrong first argument type...found com.websmithing.wp.gpstracker.LocationService, required android.app. Activity

매니페스트 파일 사용 권한을 평가할 때 아래와 같이 확인하십시오.

누구나 올바른 방향으로 나를 가리킬 수 있습니까?

답변

0

은 본 클래스를 나타낸다. 권한을 요청하는 동안 활동중인 경우에만 this과 함께 작동합니다.

솔루션은 사용자가 클릭 할 때 그래서, 활동을 열고 당신이 필요로하는 권한을 요청 서비스에서 알림을 보냅니다.

알림을 보내려면 어떻게해야합니까?

단순한 Building a Notification을 참조하십시오.

0

오류 메시지에주의하십시오. 그것은 당신을 해결책을 향해 가리키고 있습니다.

Wrong first argument type...found com.websmithing.wp.gpstracker.LocationService, required android.app. Activity

그것은 ActivityCompat.requestPermissions()은 첫 번째 인수로 활동을 기대하지만, 당신이 LocationService 인스턴스를 제공하는 것을 의미한다. 내부 클래스에서 호출하는 것 같아 외부 클래스를 참조하려면 WhateverYouActivityClassIs.this을 사용해야합니다.

+0

예, 내부 클래스에서 호출합니다. 추측 난 그냥 "이"유효한 액티비티가 아니라 요청 코드에 대한 checkSelfPermissions에 대한 참조가 작동하는지 이해가 안 돼요 ... 나는 모든 유효한 "유효한"양식을 사용하여 조사한 예제 .... – leslieG

+0

내 문제는 내가 요청 권한을 호출하는 내부 클래스가 Service 클래스를 확장하고 활동이 아니라는 것입니다. 따라서 참조 mainActivity.this도 작동하지 않습니다. – leslieG

-1

클래스를 호출하는 활동에 checkSelfpermission 코드를 작성해야합니다.

+0

답을 설명하고 예시를 주시겠습니까? –

+0

이 문제를 해결하는 데 도움이되는 힌트 일 수도 있지만 좋은 대답은 솔루션을 보여줍니다. 의미를 나타내는 예제 코드를 제공하려면 [편집]하십시오. 또는 이것을 주석으로 쓰는 것을 고려하십시오. –

+0

이 질문에 대한 답을 제공하지 않습니다. 충분한 [평판] (https://stackoverflow.com/help/whats-reputation)이 있으면 [모든 게시물에 주석 달기] (https://stackoverflow.com/help/privileges/comment) 할 수 있습니다. 대신, [질문자의 설명이 필요없는 답변을 제공하십시오] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do- 대신). - [리뷰에서] (리뷰/저품절 포스트/17732580) – Mike