Android 申请应用程序启动权限的适当地点/方法是什么?

Android 申请应用程序启动权限的适当地点/方法是什么?,android,android-permissions,runtime-permissions,Android,Android Permissions,Runtime Permissions,我在我的应用程序中有一些基本功能,我知道在应用程序启动时,或者至少启动后不久,这些功能就需要一些权限。在应用程序启动时请求它们是非常有意义的(我见过很多应用程序都这样做,大概是出于同样的原因)。但是,我找不到合适的位置来调用requestPermissions。我在我的活动中尝试过这样做。onResume,但事实证明这是一个非常糟糕的主意,因为出于某种原因,即使权限已经授予并且没有弹出提示,requestPermissions也会很快暂停活动并恢复,因此我的请求会导致递归 正确的方法是什么?我认

我在我的应用程序中有一些基本功能,我知道在应用程序启动时,或者至少启动后不久,这些功能就需要一些权限。在应用程序启动时请求它们是非常有意义的(我见过很多应用程序都这样做,大概是出于同样的原因)。但是,我找不到合适的位置来调用
requestPermissions
。我在我的
活动中尝试过这样做。onResume
,但事实证明这是一个非常糟糕的主意,因为出于某种原因,即使权限已经授予并且没有弹出提示,
requestPermissions
也会很快暂停活动并恢复,因此我的请求会导致递归

正确的方法是什么?我认为onCreate不起作用,似乎在生命周期的早期。或者确实是这样吗?

onCreate()
可以工作,尽管它与您的
onResume()
方法存在相同的递归问题。通过适当的状态跟踪,可以避免递归——请参阅。