Tôi đang sử dụng một dịch vụ khởi động và bắt đầu kiểm tra các cập nhật vị trí. Một khi tôi từ chối truy cập vị trí trên popup cho phép bây giờ nhờ Android M dịch vụ của tôi bị treo khi điện thoại khởi động.Yêu cầu Quyền vị trí từ một dịch vụ Android M
Vì tôi không có hoạt động nào trong trường hợp này, hãy gọi tới số requestPermissions()
trả về ClassCastException
vì dịch vụ của tôi Context
không thể truyền sang hoạt động.
Phương pháp của tôi gọi:
ActivityCompat.requestPermissions((Activity) mContext, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, REQUEST_COARSE_LOCATION);
Có giải pháp nào cho đến nay để này hay tôi phải thu hồi quyền dịch vụ để không chạy trong tình trạng đó.
Trong dịch vụ mà bạn có thể sử dụng ** ContextCompat.checkSelfPermission() ** để kiểm tra phòng trống phép trước khi thực hiện một số công việc. –
@Dhaval Patel có vấn đề là trong yêu cầu quyền bên trong một dịch vụ. Có vẻ như không có cách nào để làm như vậy mà không có hoạt động – stud91
có thể là bạn có thể kích hoạt thông báo, yêu cầu người dùng cấp quyền. –