Guest User

Untitled

a guest
Dec 13th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. <uses-permission android:name="android.permission.WAKE_LOCK" />
  2.  
  3. public class WakeLock : MonoBehaviour {
  4.  
  5. AndroidJavaObject ActivityObject; //use for non-static calls
  6. AndroidJavaClass ActivityClass; //use for non-static calls
  7.  
  8. // Use this for initialization
  9. void Start () {
  10. Debug.Log("About to start the wake lock");
  11. AndroidJNI.AttachCurrentThread();
  12. ActivityClass = new AndroidJavaClass("com.wakelock.MainActivity");
  13. ActivityClass.CallStatic("start");
  14. ActivityObject = ActivityClass.GetStatic<AndroidJavaObject>("instance");
  15.  
  16. string s = ActivityObject.Call<string>("SetWakeLock");
  17. Debug.Log(s);
  18. Debug.Log("Completed the wake lock!");
  19. }
  20.  
  21. void OnDestroy()
  22. {
  23. ActivityObject.Call("ReleaseWakeLock");
  24. }
  25.  
  26. public class MainActivity extends Fragment {
  27.  
  28. WakeLock wakeLock;
  29. public static MainActivity instance; // Singleton instance
  30.  
  31. public static void start()
  32. {
  33. // Instantiate Fragment.
  34. instance = new MainActivity();
  35. // Add to the current 'Activity' (a static reference is stored in 'UnityPlayer').
  36. UnityPlayer.currentActivity.getFragmentManager().beginTransaction().add(instance, "MainActivity").commit();
  37. }
  38.  
  39. public String SetWakeLock()
  40. {
  41. Activity activity = getActivity();
  42. PowerManager powerManager = (PowerManager) activity.getSystemService(activity.POWER_SERVICE);
  43. wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
  44. "MyApp::MyWakelockTag");
  45. wakeLock.acquire();
  46. return "Success!";
  47. }
  48.  
  49.  
  50. public void ReleaseWakeLock()
  51. {
  52. wakeLock.release();
  53. }
Add Comment
Please, Sign In to add comment