在我的启动屏幕上,我有对服务器的请求,但是当没有互联网连接时,我将打开
Intent settingsIntent = new Intent(Settings.ACTION_SETTINGS);
startActivityForResult(settingsIntent, REQUEST_ENABLE_CONNECTION);但是问题是,onActivityResult是用requestCode = REQUEST_ENABLE_CONNECTION立即调用的
我也尝试添加标志FLAG_NEW_TASK的意图,没有运气。
活动是,而不是 singleTop或manifest中的singleInstance。
解决这个问题的最好的android解决方案是什么?我不想使用广播,因为这不是我的流量最好的方式,所以它将作为我的最后选择。
非常感谢你的帮助。
发布于 2014-04-02 12:12:33
如果onActivityForResult不适合您(如@CommonsWare所建议的那样,它很好),您可以创建一个应该工作良好的简单流:
在您的活动中,添加
private boolean isReturnedFromSettings = false;当您决定没有internet连接并希望打开设置活动时,请使用startActivity并设置isReturnedFromSettings = true;
在活动的onResume中,添加以下内容:
if (isReturnedFromSettings) {
isReturnedFromSettings = false;
//DO WHATEVER
}应该有效..。
发布于 2014-04-02 12:12:01
解决这个问题的最好的android解决方案是什么?
没有问题。设置应用程序的活动没有文档化以支持startActivityForResult(),主活动(Settings.ACTION_SETTINGS)根本不提供它。
发布于 2017-01-16 17:27:07
将此添加到您的意图中:
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);https://stackoverflow.com/questions/22810701
复制相似问题