Ich verwende Unity mit Android und es funktioniert, wenn die Ansicht im Vollbildmodus angezeigt wird. Wenn ich sie jedoch in eine Unteransicht verwandle, wird auf dem Bildschirm nichts angezeigt.
Es funktioniert als Vollbild:
Intent intent = new Intent(this, UnityPlayerActivity.class);
intent.putExtra("arguments", "data from android");
startActivity(intent);
Diese Fragen bleiben ebenfalls unbeantwortet:
Ich habe die Lösungen ausprobiert, die sie haben, aber keine scheint funktioniert zu haben.
Zeigen Sie die Unity-Szene als Unteransicht in Android Studio an
/gamedev/134347/android-black-screen-with-unity-app-in-subview
Black Screen Unity Subview in Android
Mein aktuelles MainActivity / Unity Manifest:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
m_UnityPlayer = new UnityPlayer(this);
int glesMode = m_UnityPlayer.getSettings().getInt("gles_mode", 1);
boolean trueColor8888 = false;
m_UnityPlayer.init(glesMode, trueColor8888);
setContentView(R.layout.activity_main);
FrameLayout layout = (FrameLayout) findViewById(R.id.frameLayout2);
LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
layout.addView(m_UnityPlayer.getView(), 0, lp);
}
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity3d.player" xmlns:tools="http://schemas.android.com/tools">
<application>
<activity android:name="com.unity3d.player.UnityPlayerActivity" android:theme="@style/UnityThemeSelector" android:screenOrientation="landscape" android:launchMode="singleTask" android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale|layoutDirection|density" android:hardwareAccelerated="false">
<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" />
<meta-data android:name="android.notch_support" android:value="true" />
</activity>
<meta-data android:name="unity.splash-mode" android:value="0" />
<meta-data android:name="unity.splash-enable" android:value="True" />
<meta-data android:name="notch.config" android:value="portrait|landscape" />
<meta-data android:name="unity.build-id" android:value="46e01524-60a4-48fa-9d28-b231f5db3c5d" />
</application>
<uses-feature android:glEsVersion="0x00030000" />
<uses-feature android:name="android.hardware.vulkan.version" android:required="false" />
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="false" />
<uses-feature android:name="android.hardware.touchscreen.multitouch.distinct" android:required="false" />
</manifest>
Antworten:
Sie können es nur mit Rahmenlayout erreichen,
MainActivity
sollte erweitert werdenActivity
, nichtUnityPlayerActivity
. Fügen Sie diese beiden Zeilen zur Aktivität in der hinzuAndroidManifest.xml
.Der Arbeitscode lautet:
main.xml
UnityPlayerActivity.java
Ich hoffe, die folgenden Referenz-URLs könnten Ihnen helfen. Unity und Android CustomLayout und Unity und Android Sub-View
quelle