Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android AppAuth-跟随PendingEvent对象_Android_Android Pendingintent_Appauth - Fatal编程技术网

Android AppAuth-跟随PendingEvent对象

Android AppAuth-跟随PendingEvent对象,android,android-pendingintent,appauth,Android,Android Pendingintent,Appauth,我一直在尝试在安卓系统中实现谷歌的AppAuth库,但我很难让它正常工作。我一直在尝试遵循这个原则,并将其应用到我自己的代码库中,但我一直被悬而未决的意图所困扰 更具体地说,当我调用performAuthorizationRequest()方法时,仿真器可以按照重定向在其自定义选项卡中获取身份验证代码(我可以看到它)。但是,没有调用任何处理程序。我尝试添加了onNewIntent()、onActivityResult()和onResume(),但都没有被调用 从performAuthorizat

我一直在尝试在安卓系统中实现谷歌的AppAuth库,但我很难让它正常工作。我一直在尝试遵循这个原则,并将其应用到我自己的代码库中,但我一直被悬而未决的意图所困扰

更具体地说,当我调用
performAuthorizationRequest()
方法时,仿真器可以按照重定向在其自定义选项卡中获取身份验证代码(我可以看到它)。但是,没有调用任何处理程序。我尝试添加了
onNewIntent()
onActivityResult()
onResume()
,但都没有被调用

performAuthorizationRequest()
的Javadocs中,我看到

“提供的{@link pendingent completion pendingent}将是 援引”

这是什么意思?如何与已完成的PendingEvent对象交互?在创建挂起的意图时,是否有任何方法可以使用请求代码send检索该上下文

下面是我的代码:

var authReq: AuthorizationRequest = AuthorizationRequest.Builder(
            serverConfig,
            clientId,
            ResponseTypeValues.CODE,
            redirectUri
).build()

val service: AuthorizationService = AuthorizationService(view.context)

val action = "com.google.codelabs.appauth.HANDLE_AUTHORIZATION_RESPONSE"
val authIntent = Intent(action)
val pendingIntent = PendingIntent.getActivity(this, authReq.hashCode(), authIntent, 0)

service.performAuthorizationRequest(authReq, pendingIntent)
在我的清单中,我添加了以下活动:


好的,在花了几天的时间之后,我意识到我弄乱了RedirectUri和RedirectUriReceiverActivity的数据元素。不知何故,它帮助我理解了我错过了什么

在AndroidManifest.xml中,RedirectUriReceiveActivity需要知道将完成返回到哪里。另外,我的重定向uri(在我的authReq内部)被设置为一个外部地址,我将其更改为使用Android deeplink