2017-04-09 10 views
-1

サービスに許可をリクエストしようとしています。通常、許可を要求するにはアクティビティを渡す必要があります。私のアプリケーションにはActivityがありません。サービスの許可を求める方法

// Here, thisActivity is the current activity 
if (ContextCompat.checkSelfPermission(thisActivity, 
       Manifest.permission.READ_CONTACTS) 
     != PackageManager.PERMISSION_GRANTED) { 

    // Should we show an explanation? 
    if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity, 
      Manifest.permission.READ_CONTACTS)) { 

     // Show an explanation to the user *asynchronously* -- don't block 
     // this thread waiting for the user's response! After the user 
     // sees the explanation, try again to request the permission. 

    } else {  
     ActivityCompat.requestPermissions(thisActivity, 
       new String[]{Manifest.permission.READ_CONTACTS}, 
       MY_PERMISSIONS_REQUEST_READ_CONTACTS); 
    } 
} 

私はサービスからどのようにすることができますか?

+0

どのように私はdownvotedされましたか?これは有効な質問です。説明してください、私が間違っている場合、私は喜んで私の質問を削除します。 –

答えて

2

サービスからの許可の要求は意味がありません。アプリケーションがシステム機能にアクセスする必要があるときにユーザーに許可を求めるので、ユーザーにアクティビティーの許可を要求してからサービスを開始する必要があります。

+0

サービスが開始された後、サービスが 'JobScheduler'によってキックオフされるなど、あなたのサービスにいつでも権限がないことが分かった場合は、あなたに許可を与えて静かにシャットダウンするように' Notification 'あなたのサービス。 – CommonsWare

+0

私のアプリケーションは 'Activity'を持っていません。 –

+0

"サービスからの許可要求は意味がありません。"私のアプリケーションは 'Activity'を持たないので、' Service'でリクエストするのは意味があります。 –

関連する問題