我创建了一个点击特定网址时打开的应用。显然我有这样的事情:
<intent-filter>
<data android:scheme="http" android:host="example.com"/>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
所以这一切都很棒,只要有人点击http://example.com/whatever/stuff的链接......它就会打开我的应用。但是,在我的应用程序中,在完成某些操作之后,我想将suer发送回默认浏览器(或者当他们点击链接开始时使用的浏览器/ Web视图)。我的问题是我最终创建了一个循环:
我的应用发送的意图,最终回到自己(我的应用)。
Intent httpIntent = new Intent(Intent.ACTION_VIEW);
String theNewURL = http://example.com/yyy;
httpIntent.setData(Uri.parse(theNewURL));
startActivity(httpIntent);
如何让httpIntent
使用默认浏览器(或者用户来自哪里)而不是再次调用我的应用程序?
编辑:我已经能够以make-shift方式解决问题,方法是将我自己的某个域(作为一种别名)的CNAME记录转到与{{3}相同的位置}。它很糟糕,因为用户现在看到了不同的URL,但它仍然可以工作,因为它不会调用intent。 (当我谈到意图时,我甚至会使用正确的语言吗?)
答案 0 :(得分:0)
Intent HttpIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://example.com/yyy"));
startActivity(HttpIntent);