2013-05-03 14 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#腳本中調用靜態函數呼我(),但我的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文件,嘗試過去它,我們可以檢查問題。 – 2013-05-05 07:11:48

+0

Manifest文件在unity網站上看起來很不錯。 – Nick 2013-05-06 09:08:28

+0

http://docs.unity3d.com/Manual/PluginsForAndroid.html – CrandellWS 2016-02-03 06:35:19

回答

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 2013-05-16 08:07:34