首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓插件的统一不开放许可对话的团结?

安卓插件的统一不开放许可对话的团结?
EN

Stack Overflow用户
提问于 2016-09-30 15:13:02
回答 1查看 738关注 0票数 1

我只是为统一而开发android插件,并且我能够成功地在统一和android插件之间交换数据。

在我的android插件中,我的代码是

代码语言:javascript
复制
String SCOPE = "https://www.googleapis.com/auth/youtube";
am.getAuthToken(myAccount_[0], "oauth2:" + SCOPE, null, this,
        new OnTokenAcquired(), null);

这应该会促使我允许我的应用程序访问youtube。

它对我的android应用程序很好,但不能要求统一。

这是我的android代码:

代码语言:javascript
复制
 public void YoutubeSubscriber() {
        AccountManager am = AccountManager.get(context);
        Account[] myAccount_ = AccountManager.get(context).getAccountsByType("com.google");
        Log.d("==============>all", String.valueOf(myAccount_));
        Log.d("==============>single", String.valueOf(myAccount_[0]));

        String SCOPE = "https://www.googleapis.com/auth/youtube";
        am.getAuthToken(myAccount_[0], "oauth2:" + SCOPE, null, null,
                new OnTokenAcquired(), null);
        Toast.makeText(this.context, myAccount_[0].toString(), Toast.LENGTH_SHORT).show();
    }

把它统一起来就是这样。

代码语言:javascript
复制
            using (AndroidJavaClass activityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
            {
                info.text = "activity";
                activityContext = activityClass.GetStatic<AndroidJavaObject>("currentActivity");
            }

            using (AndroidJavaClass pluginClass = new AndroidJavaClass("com.thegamecontriver.androidlib.ToastExample"))
            {
                if (pluginClass != null)
                {

                    toastExample = pluginClass.CallStatic<AndroidJavaObject>("instance");
                    toastExample.Call("setContext", activityContext);

                    info.text = "After ";
                    toastExample.Call("YoutubeSubscriber");



                    /*
                    activityContext.Call("runOnUiThread", new AndroidJavaRunnable(() => {
                         toastExample.Call("YoutubeSubscriber");
                     }));
                     */
                }
            }

注意:我能看到祝酒词,但没有提示。请帮帮忙

EN

回答 1

Stack Overflow用户

发布于 2016-09-30 16:12:32

您可能缺少使用AccountManager所需的权限(AccountManager)。

来自getAuthToken SDK 参考文献

注意:如果将您的应用程序定位到API级别22及之前,这些平台需要USE_CREDENTIALS权限。请参阅API级别22中的此函数的文档。

1.转到<UnityInstallationDirecory>\Editor\Data\PlaybackEngines\AndroidPlayer\Apk,将AndroidManifest.xml文件复制到<ProjectName>Assets\Plugins\Android

2.现在打开从<ProjectName>Assets\Plugins\Android复制的Manifest文件,并将<uses-permission android:name="android.permission.USE_CREDENTIALS"/>添加到其中。保存、构建和运行。如果这是一个许可问题,现在就应该解决了。

您的AndroidManifest.xml应该是什么样子(Unity5.4):

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.unity3d.player"
    android:versionCode="1"
    android:versionName="1.0">

    <uses-permission android:name="android.permission.USE_CREDENTIALS"/>

    <application
    android:theme="@style/UnityThemeSelector"
    android:icon="@drawable/app_icon"
        android:label="@string/app_name"
        android:debuggable="true">
        <activity android:name="com.unity3d.player.UnityPlayerActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
        </activity>
    </application>
</manifest>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39794771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档