gpt4 book ai didi

android - 为什么我的 Activity 不是通过 URL 启动的?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:08:24 25 4
gpt4 key购买 nike

我意识到有几个类似的问题,但没有一个已接受的答案对我有用。作为 oauth 过程的一部分,我希望浏览器重定向以启动我的 Activity 。正如我到处看到的那样,我已经设置了一个 Intent 过滤器,据说它可以做到这一点:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.codesta.test"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="7" />

<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".BrowsableActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" android:host="oauth.android.mydomain.com" />
</intent-filter>
</activity>

</application>
</manifest>

但是,当我打开浏览器并输入 http://oauth.android.mydomain.com 时我收到“网页不可用”错误页面。我也尝试过定义自己的方案(我读过的方案通常不被推荐),但这也没有用。

我的目标是 api 级别 7,并且已经在运行 2.1 和 2.2 的模拟设备上测试了代码但没有成功。任何帮助将不胜感激!

最佳答案

我遇到了同样的问题 - 据我所知,几个 OAuth 站点使用 标记来执行您试图捕获的最终重定向。

使用 META 标记的重定向不会被 Intent 过滤器捕获,因此您的代码永远不会执行。奇怪的是,如果用户单击相同的链接,或者使用 Location: header 重定向,它就会触发。已经有一个开放的 android 2.2.1 bug ticket,但我已经失去了对它的引用。

通常的解决方法是在回调 URL 上设置一个真实页面,并使用 Location: header 将其从那里重定向到您可以捕获的其他地方。

编辑:自从我尝试使用 Location: header 进行此操作后,似乎一般不会捕获到 http://的重定向,但不赞成重定向到不同的方案 (x-oauth://),但是有效。

关于android - 为什么我的 Activity 不是通过 URL 启动的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5198815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com