从隐式意图中获取数据

时间:2011-09-08 16:41:41

标签: android android-intent

我正在编写一个应用程序,当在Android浏览器中访问特定网站时将调用该应用程序。我已经配置了我的意图过滤器来实现这一点,但是我很难找到有关如何将浏览器中的信息转移到我的应用程序的详细信息......因为我需要浏览器尝试访问的确切网站地址。我假设这些数据存储在intent extras中,但要访问那些我需要知道密钥的名称是什么来获取信息和格式等等。任何人都知道这在哪里被记录?我猜它是标准化的。

2 个答案:

答案 0 :(得分:6)

是的,您可以获取数据,但如果您正在执行隐式意图,则可能需要在清单中使用此数据...

        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="http"/> 
        </intent-filter>

然后,如果您希望数据生成新的URL,请在您的活动中执行此操作:

Uri data = this.getIntent().getData();
url = new URL(data.getScheme(), data.getHost(), data.getPath());

答案 1 :(得分:0)

URI位于Intent数据中。 Activity.getIntent()。的getData()。