gpt4 book ai didi

android - OAuth 和自定义方案在 Chrome 中生成 "ERR_UNKNOWN_URL_SCHEME"

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:40:16 27 4
gpt4 key购买 nike

我已经坚持了好几个小时了,因为这东西以前是工作的,但突然停止了,表现得像预期的那样。我真的不知道如何以及为什么我一直在重新检查过程中的每一行代码,但看不出哪里出了问题,所以我向你们寻求帮助。

好的。因此,我有一个 LoginScreen Activity ,其中有一个按钮在点击时启动一个新的 Intent.ACTION_VIEW。这将在浏览器中启动 OAUTH 进程,并将 ApiManager.OAUTH_CALLBACK_URI 设置为 stjapp://oauthresponse

这是我的 AndroidManifest.xml 部分用于此 Activity :

<activity
android:name=".LoginScreen"
android:label="@string/application"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<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="stjapp" android:host="oauthresponse" />
</intent-filter>
</activity>

我如何在 Activity 中启动 Intent.ACTION_VIEW:

private View.OnClickListener loginHandler = new View.OnClickListener() {
public void onClick(View v) {
OAuthClientRequest request = null;
try {
request = OAuthClientRequest
.authorizationLocation(ApiManager.OAUTH_AUTHORIZE)
.setClientId(ApiManager.CLIENT_ID).setRedirectURI(ApiManager.OAUTH_CALLBACK_URI)
.buildQueryMessage();
}
catch (OAuthSystemException e) { e.printStackTrace(); }
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(request.getLocationUri() + "&response_type=code"));
startActivity(intent);
}
};

这是浏览器中发生的情况的屏幕截图:

enter image description here

在那里,我应该回到我的 LoginScreen Activity 并处理 onNewIntent 方法中的 code 查询参数,但是......是的,这东西不再像预期的那样工作了。

感谢任何帮助。

最佳答案

看起来这是一个 Chromium bug .我使用的解决方法是通过 JavaScript 打开应用程序的 RedirectURI 的 PHP 登录页面(不受该错误影响):

<script language="javascript">
window.location = 'myscheme://myhost/?<?=$_SERVER["QUERY_STRING"]?>';
</script>

关于android - OAuth 和自定义方案在 Chrome 中生成 "ERR_UNKNOWN_URL_SCHEME",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15568792/

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