在我的应用程序中,我需要打开银行的页面,以使用户能够支付.阅读Android文档我发现我应该使用ACTION_VIEW(而不是WebView)来实现这一目标.
Uri uri = Uri.parse("http://www.example.com");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
我的问题是:用户完成付款后,我该如何回到应用程序?
我的意思是,我想做点什么
startActivityForResult(intent, RESULT_CODE);
Run Code Online (Sandbox Code Playgroud)
打开银行的网站,然后在用户完成后返回应用程序,使用
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Run Code Online (Sandbox Code Playgroud)
回调处理付款结果.
而且,我是否按照正确的方式行事?或者还有其他方法可以实现这一目标吗?
浏览器如何知道用户已完成银行页面?它无从得知.
此外,浏览器不会startActivityForResult()通过设置结果做出反应finish().
因此,您无法使用Android浏览器来完成此任务.
唯一可行的方法是启动WebView并通过检测用户完成银行任务时(假设)显示的某个URL来检测用户何时完成.
实际上,您可以采用不同的方法返回您的通话活动.如果您正在呼叫的网页由您处理或允许您在用户完成圆顶处理时分配回调,那么您可以将该回调设置为URI,并将该URI分配给您的呼叫活动,如果活动启动模式为singleTask,那么你将能够恢复你的活动.
我唯一没有解决的问题是,一旦它返回到你的调用活动,我不知道如何从堆栈中删除浏览器.我想完成这个,因为一旦你离开你的应用程序,android会将浏览器活动弹出到前面,迫使用户自己完成它.
| 归档时间: |
|
| 查看次数: |
12148 次 |
| 最近记录: |