我正在小米Mi 9T Andoird 10 API 29上测试我的安卓应用程序.
其流程如下:
在活动A中,我启动配置设置活动以启用特定权限
Intent intent = new Intent("<PERMISSION_ON_CONFIGURATION_SETTINGS>");
在设置屏幕中,我需要再深入2个级别的详细信息,直到可以启用权限
在我的Activity A中,有一个计时器,它会一直监视直到权限被授予:
public void timerStart() {
this.timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
if (isAccessibilityEnabled()) {
ActivityA.this.timer.cancel();
ActivityA.this.finishAndRemoveTask();
Intent intent = new Intent(ActivityA.this, ActivityB.class);
context.startActivity(intent);
return;
}
}
}, 0, 500);
}
结果是,计时器识别出权限已被授予,finishAndRemoveTask()方法结束了活动A和所有配置子活动,但活动B从未启动。
1条答案
按热度按时间pgky5nke1#
我认为问题出在
context.startActivity(intent)
;我认为您可以直接使用它startActivityIntent()
,而不使用context
,对于其他事情,您可以使用计时器和finishAndRemoveTask,而不使用ActivityA.this
。因此,这个方法的最终代码可能如下所示:
如果问题仍然存在,可以考虑将
startActivity(intent)
移到finishAndRemoveTask()
方法之前;虽然我不认为这不是一个问题,但还是试试吧!