非活动中的Android M onRequestPermissionsResult [英] Android M onRequestPermissionsResult in non-Activity

查看:379
本文介绍了非活动中的Android M onRequestPermissionsResult的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个需要找到用户位置的应用程序,并且在各个类中提取了位置,因此我编写了一个单独的类(非活动类),使用位置服务,它在 Android M 下工作正常但在 Android M 中需要运行时权限,我想检查我的Location类中的权限,我知道如何检查它们但我不能在我的Location类中使用 onRequestPermissionsResult 方法,因为我的Location类不会从任何活​​动扩展。

I have an application which needs to find the user location, and location is fetched in various classes, so i have written a separate class(Not an Activity class) that fetches user location using location services, it works fine under Android M but requires run time permissions in Android M, i want to check permissions in my Location class and i know how to check them but i cannot use onRequestPermissionsResult method in my Location class, because my Location class do not extends from any activity.

那么我是什么应该做到这一点?感谢任何帮助/线索
提前致谢

So What i should do for achieving this? any help/clue is appreciated Thanks in advance

推荐答案

由于 public void onRequestPermissionsResult(int requestCode,
String permissions [],int [] grantResults)
ActivityCompat.OnRequestPermissionsResultCallback 接口的抽象方法。
请参阅
文档

Since public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) is an abstract method of ActivityCompat.OnRequestPermissionsResultCallback interface. See the documentation

只需在所需的类中实现此接口即可。
例如

Just implement this interface in the required class and it's done. For example

class location implements  ActivityCompat.OnRequestPermissionsResultCallback{ }

现在只需覆盖 onRequestPermissionsResult()

 @Override
public void onRequestPermissionsResult(int requestCode,
                                       String permissions[], int[] grantResults) {
    switch (requestCode) {
     // case Statements
    }
}

这篇关于非活动中的Android M onRequestPermissionsResult的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆