I am trying to extend UnityPlayerActivity with docs.unity3d. I have a simple jar file with the MainActivity class, as well as the files.jar file in the libs folder. My class file has the following code.
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=============="); } }
I can call the static function callMe () through my C # script, but my onCreate () is not called at the beginning of the action. My C # script is
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"); } }
When I call the CallMe method, I get a call log. but i did not get any log from onCreate ().
AndroidMenifest.xml contains
<?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>
source share