Permissions 如何检测更改设置后重新打开的应用程序?
我正在使用在我的Flitter应用程序中请求联系人权限 当用户按下“不再询问”选项并拒绝该权限时,我会给出一个按钮,该按钮使用openSettings打开设置。 现在,如果用户启用权限并按back键进入应用程序,我如何检测该权限已被授予 下面是一些代码来提供一个想法-Permissions 如何检测更改设置后重新打开的应用程序?,permissions,flutter,settings,Permissions,Flutter,Settings,我正在使用在我的Flitter应用程序中请求联系人权限 当用户按下“不再询问”选项并拒绝该权限时,我会给出一个按钮,该按钮使用openSettings打开设置。 现在,如果用户启用权限并按back键进入应用程序,我如何检测该权限已被授予 下面是一些代码来提供一个想法- Text( 'Permission to access Contacts was denied.\nPlease press Settings to provide permissions and continue conne
Text(
'Permission to access Contacts was denied.\nPlease press Settings to provide permissions and continue connecting!',
),
MaterialButton(
onPressed: () {
SimplePermissions.openSettings();
},
child: Text('Settings'),
)
你可以用。它允许您检测小部件的生命周期。
使用WidgetsBindingObserver扩展当前状态,并将这些行添加到initState
WidgetsBinding.instance.addObserver(this); //this sets WidgetsBindingObserver
requestPermission(); //this will request the permission on initial load.
将以下行添加到您的状态
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
checkPermission(); //this will check the status of permission when the user returns back from the settings page.
}
checkPermission() async {
bool res = await SimplePermissions.checkPermission(Permission.Camera);
if (!res) {
setState(() {
_statusMessage = "waiting for camera permission";
});
} else {
setState(() {
_statusMessage = "camera permission has been granted";
});
}
}
检查完整的示例代码。您好,我的回答解决了您的问题吗?嘿,您能解释一下代码吗?我什么时候打开设置?我从未使用过WidgetsBindingObserver类。@KeertiPurswani您希望我如何解释它?抱歉,我错过了您的评论。如果可能的话,你能帮我查一下吗-