我使用自定义方案为Fitbit实现OAuth,为此我需要Activity
在用户登录默认浏览器后从堆栈顶部使用调用实例,并重定向到CALLBACK URL.而不是onNewIntent()
被称为,Activity
只是重新创建,这不是我需要的.
我正在使用以下代码从Fragment打开浏览器:
String url = Fitbit.buildAuthenticationURL(); Log.d("URL", url); Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); this.getActivity().startActivity(browserIntent);
santoXme.. 6
使用launchmode作为singleTask,因为:
singleTask:
系统创建新任务并在新任务的根目录下实例化活动.但是,如果活动的实例已存在于单独的任务中,则系统会通过调用其onNewIntent()方法将意图路由到现有实例,而不是创建新实例.一次只能存在一个活动实例.
注意:虽然活动在新任务中启动,但"后退"按钮仍会将用户返回到上一个活动.
使用launchmode作为singleTask,因为:
singleTask:
系统创建新任务并在新任务的根目录下实例化活动.但是,如果活动的实例已存在于单独的任务中,则系统会通过调用其onNewIntent()方法将意图路由到现有实例,而不是创建新实例.一次只能存在一个活动实例.
注意:虽然活动在新任务中启动,但"后退"按钮仍会将用户返回到上一个活动.