我正在尝试访问Android Things 0.6.1特定Google帐户的Google日历活动。
不幸的是,我无法使用Android Calendar API,因为Android Things没有与其关联的Google帐户,例如普通的Android设备,也没有可用于选择帐户并授予权限的用户界面。
我尝试使用普通Java Calendar API,但是当我尝试进行身份验证时,由于JVM不兼容,Android事情失败了:
Caused by: java.lang.ClassNotFoundException: Didn't find class "java.awt.Desktop" on path: DexPathList[[zip file "/system/framework/com.google.android.things.jar", zip file "/data/app/com.leinardi.android.things.deskclock-sFpdt1rVzS8n7goWxN7dFA==/base.apk"],nativeLibraryDirectories=[/data/app/com.leinardi.android.things.deskclock-sFpdt1rVzS8n7goWxN7dFA==/lib/arm, /system/lib, /vendor/lib]]
然后我尝试将Google Assistant sample for Android Things中的代码与Calendar API结合使用,但看起来像Calendar API使用了辅助示例中的其他Credential类(com.google.api.client.auth.oauth2.Credential
vs com.google.auth.oauth2.UserCredentials
)
目前是否可以使用Android Things中的Calendar API?
答案 0 :(得分:2)
我确实找到了一种方法,包括一个伴侣手机应用程序将令牌注入到应用程序中。话虽这么说,如果您序列化凭据,然后在启动时反序列化,手机应用程序将成为可选,或者您可以使用服务帐户。
无论如何,请参阅here了解我所探索的内容。
答案 1 :(得分:1)
由于您所说的帐户内容,标准系统级日历API无法正常运行。您可以使用Google Calendar API for Android(而不是Java指南)。但是,设备上缺少帐户仍会阻止您。如果您使用Firebase身份验证和附近,则可以从手机配套应用转移令牌,您可以在设备上以用户身份登录。
然后,您可以使用该令牌获取用户的访问令牌并进行API调用。
添加到您应用中的权限将在重启后授予。