2016-03-14 4 views
-2

Я пытаюсь запроситьЗапрос разрешения от службы приложения Сбои

if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission_group.LOCATION) != PackageManager.PERMISSION_GRANTED) { 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { 
     ActivityCompat.requestPermissions((Activity) mContext, new String[]{Manifest.permission_group.LOCATION}, REQUEST_CODE_ASK_PERMISSIONS); 
    } 
} 
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0,this); 

Я получаю эту ошибку

03-14 15:57:30.050 29841-29841/com.ativaishna.av.audb W/System.err: java.lang.ClassCastException: android.app.Application cannot be cast to android.app.Activity 
03-14 15:57:30.083 29841-29841/com.ativaishna.av.audb W/System.err:  at com.ativaishna.av.audb.service.TeleService.onStartCommand(TeleService.java:50) 
03-14 15:57:30.083 29841-29841/com.ativaishna.av.audb W/System.err:  at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3028) 
03-14 15:57:30.083 29841-29841/com.ativaishna.av.audb W/System.err:  at android.app.ActivityThread.-wrap17(ActivityThread.java) 
03-14 15:57:30.083 29841-29841/com.ativaishna.av.audb W/System.err:  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1452) 
03-14 15:57:30.083 29841-29841/com.ativaishna.av.audb W/System.err:  at android.os.Handler.dispatchMessage(Handler.java:102) 
03-14 15:57:30.083 29841-29841/com.ativaishna.av.audb W/System.err:  at android.os.Looper.loop(Looper.java:148) 
03-14 15:57:30.083 29841-29841/com.ativaishna.av.audb W/System.err:  at android.app.ActivityThread.main(ActivityThread.java:5443) 
03-14 15:57:30.083 29841-29841/com.ativaishna.av.audb W/System.err:  at java.lang.reflect.Method.invoke(Native Method) 
03-14 15:57:30.083 29841-29841/com.ativaishna.av.audb W/System.err:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728) 
03-14 15:57:30.083 29841-29841/com.ativaishna.av.audb W/System.err:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 

Пожалуйста, помогите

+0

Вы не можете запросить разрешение у службы. Запросите разрешение перед запуском службы. Если служба обнаруживает, что ей не хватает разрешения - например, пользователь отменил ее через «Настройки» - поднимите уведомление, которое приведет пользователя обратно к вашему пользовательскому интерфейсу, чтобы запросить разрешение. – CommonsWare

ответ

1

mContext не является активность. Таким образом, вы не можете использовать его как одно. В этом случае это приложение.

Смежные вопросы