2013-05-03 3 views
4

docs.unity3d를 사용하여 UnityPlayerActivity를 확장하려고합니다. MainActivity 클래스가있는 간단한 jar 파일이 있고 classes.jar 파일이 libs 폴더에 포함되어 있습니다. 내 클래스 파일에 다음 코드가 있습니다.UnityPlayerActivity가 onCreate() 로그를 얻지 못합니다.

package com.example.testactivity; 

import android.os.Bundle; 
import android.util.Log; 
import android.view.Menu; 
import com.unity3d.player.UnityPlayerActivity; 

public class MainActivity extends UnityPlayerActivity 
{ 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    Log.i("Hiren","==============ON CREATE CALLED=============="); 
    super.onCreate(savedInstanceState); 
} 


public static void callMe() 
{ 
    Log.i("Hiren","==============Function CALLED=============="); 
} 
} 

나는 내 C# 스크립트를 통해 정적 기능 callMe()를 호출 할 수 있지만 내에서 onCreate()가 활동의 시작 부분에서 호출되지 않습니다. 내 C# 스크립트는

private static FBShare _instance; 

public static FBShare Instance 
{ 
get 
{ 
    if(_instance == null) 
    _instance = new FBShare(); 
    return _instance; 
} 
} 

private AndroidJavaClass cls_Fb = new AndroidJavaClass("com.example.testactivity.MainActivity"); 

public void CallMe() 
{ 

    using(AndroidJavaClass cls_UnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) 
    { 

    using(AndroidJavaObject obj_Activity = cls_UnityPlayer.GetStatic<AndroidJavaObject>("currentActivity")) 
    { 
     cls_Fb.CallStatic("callMe"); 
    } 
    } 

내가 전화

는 "CallMe"방법은, 내가 호출되고의 로그를 얻을 수 있습니다. 하지만 onCreate()에서 로그를 얻지 못했습니다.

AndroidMenifest.xml 파일은 니콜라스 말했듯이

<?xml version="1.0" encoding="utf-8"?> 
<manifest 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.testactivity.MainActivity" 
    android:installLocation="preferExternal" 
    android:versionCode="1" 
    android:versionName="1.0"> 
    <supports-screens 
     android:smallScreens="true" 
     android:normalScreens="true" 
     android:largeScreens="true" 
     android:xlargeScreens="true" 
     android:anyDensity="true"/> 

    <application 

     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"> 
      <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"> 
     </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"> 
      <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"> 
     </activity> 
     <activity android:name=".MainActivity" 
        android:label="@string/app_name" 
        android:configChanges="keyboardHidden|orientation" > 
       <meta-data android:name="android.app.lib_name" android:value="unity" /> 
       <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" /> 
     </activity> 
     <uses-library android:name="com.google.android.maps" /> 
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
     <uses-permission android:name="android.permission.ACCESS_INTERNET" /> 

    </application> 
</manifest> 
+0

과거에 시도, 문제가의 AndroidManifest.xml 파일에 놓여 생각 정확한지 확인 검사 포함 그것과 우리는 문제를 확인할 수 있습니다. –

+0

유니티 사이트에 명시된대로 매니페스트 파일이 제대로 표시됩니다. – Nick

+0

http://docs.unity3d.com/Manual/PluginsForAndroid.html – CrandellWS

답변

2

가, 매니페스트 이 섹션은

<activity 
    android:name=".MainActivity" 
    android:label="@string/app_name" > 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 
+0

d 질문에 AndroidMenifest 파일의 코드를 추가했습니다. – Nick

관련 문제