查找Unity3D生成的"AndroidManifest.xml"中的"Android类名"

Mat*_*ias 8 android facebook unity-game-engine facebook-apps

在Facebook应用程序中配置"Android Native App"时,它们需要Android Class Name.如果你从Unity3D创建了Android APK,你怎么知道要使用哪个类?

在此输入图像描述

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="preferExternal" package="--------------" android:versionName="1.02" android:versionCode="8">
  <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" />
  <application android:icon="@drawable/app_icon" android:label="@string/app_name" android:debuggable="true">
    <activity android:name="com.unity3d.player.UnityPlayerProxyActivity" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" android:screenOrientation="landscape">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
    <activity android:name="com.unity3d.player.UnityPlayerActivity" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" android:screenOrientation="landscape">
    </activity>
    <activity android:name="com.unity3d.player.UnityPlayerNativeActivity" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" android:screenOrientation="landscape">
      <meta-data android:name="android.app.lib_name" android:value="unity" />
      <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" />
    </activity>
    <activity android:name="com.unity3d.player.VideoPlayer" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" android:screenOrientation="landscape">
    </activity>
    <!-- ACTIVITIES -->
    <activity android:name="com.prime31.FacebookProxyActivity" />
    <!-- META-DATA -->
  </application>
  <!-- PERMISSIONS -->
  <uses-permission android:name="android.permission.INTERNET" />
  <uses-feature android:glEsVersion="0x00020000" />
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  <uses-feature android:name="android.hardware.sensor.accelerometer" />
  <uses-feature android:name="android.hardware.touchscreen" />
  <uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="false" />
  <uses-feature android:name="android.hardware.touchscreen.multitouch.distinct" android:required="false" />
  <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" />
</manifest>
Run Code Online (Sandbox Code Playgroud)

Min*_* Li 5

该字段应该是您的主要活动(与MAIN和LAUNCHER相关联)。在这种情况下,我认为它将是com.unity3d.player.UnityPlayerProxyActivity。

如果您使用本机深层链接,则这主要是必需的(这样FB应用程序可以创建直接调用您的活动的意图)。在这方面,您应用中任何可公开访问的活动都可以。


Dan*_*ist 5

主要活动的标签应包含intent-filter带有操作android.intent.action.MAIN和类别的标签android.intent.category.LAUNCHER.

intent-filter标签说明(来自文档):

指定活动,服务或广播接收器可以响应的意图类型.intent过滤器声明其父组件的功能 - 活动或服务可以做什么以及接收器可以处理什么类型的广播.它打开组件以接收广告类型的意图,同时过滤掉对组件无意义的组​​件.大部分的过滤器中的内容是由它的描述<action>,<category><data> 子元素.

有关过滤器的更详细讨论,请参阅单独的"意图和意图过滤器"文档以及简介中的"意图过滤器"部分.

Android应用程序的主要活动有一个intent-filter类别LAUNCHER,它基本上告诉活动可以"启动应用程序"(换句话说,它是启动器/条目).

activity标签应该是这个样子:

<activity android:name="ActivityClassName" android:label="Activity title">
    <!-- The intent filter -->
    <intent-filter>
        <!-- The action -->
        <action android:name="android.intent.action.MAIN"/>
        <!-- The category -->
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

通过查看您的内容AndroidManifest.xml,您可以得出结论,您的应用程序的主要活动是com.unity3d.player.UnityPlayerProxyActivity活动,因为它包含intent-filter匹配这些标准.

祝你的游戏好运!