Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <uses-permission android:name="android.permission.WAKE_LOCK" />
- public class WakeLock : MonoBehaviour {
- AndroidJavaObject ActivityObject; //use for non-static calls
- AndroidJavaClass ActivityClass; //use for non-static calls
- // Use this for initialization
- void Start () {
- Debug.Log("About to start the wake lock");
- AndroidJNI.AttachCurrentThread();
- ActivityClass = new AndroidJavaClass("com.wakelock.MainActivity");
- ActivityClass.CallStatic("start");
- ActivityObject = ActivityClass.GetStatic<AndroidJavaObject>("instance");
- string s = ActivityObject.Call<string>("SetWakeLock");
- Debug.Log(s);
- Debug.Log("Completed the wake lock!");
- }
- void OnDestroy()
- {
- ActivityObject.Call("ReleaseWakeLock");
- }
- public class MainActivity extends Fragment {
- WakeLock wakeLock;
- public static MainActivity instance; // Singleton instance
- public static void start()
- {
- // Instantiate Fragment.
- instance = new MainActivity();
- // Add to the current 'Activity' (a static reference is stored in 'UnityPlayer').
- UnityPlayer.currentActivity.getFragmentManager().beginTransaction().add(instance, "MainActivity").commit();
- }
- public String SetWakeLock()
- {
- Activity activity = getActivity();
- PowerManager powerManager = (PowerManager) activity.getSystemService(activity.POWER_SERVICE);
- wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
- "MyApp::MyWakelockTag");
- wakeLock.acquire();
- return "Success!";
- }
- public void ReleaseWakeLock()
- {
- wakeLock.release();
- }
Add Comment
Please, Sign In to add comment