Advertisement
Guest User

Untitled

a guest
Oct 20th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.01 KB | None | 0 0
  1.  
  2. public class Receiver extends WakefulBroadcastReceiver {
  3. int uniqueId=1;
  4. public static String tag="Receiver";
  5. Context context;
  6. PowerManager pawerManager;
  7. public static PowerManager.WakeLock wakeLock=null;
  8. public void onReceive(final Context context, Intent intent) {
  9. pawerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
  10. wakeLock = pawerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "");
  11. wakeLock.acquire();
  12. setalarm(context);
  13. this.context=context;
  14. Log.e("Receiver", "call");
  15. Intent in=new Intent(context,LocationService.class);
  16. // startServiceIntent = new Intent(context, LocationService.class);
  17. if(!isServiceRunning())
  18. {
  19. Log.e("startserviceFromRecever", "call");
  20. startWakefulService(context,in);
  21. }
  22. else
  23. {
  24. Log.e("startserviceFromRecever", "not call");
  25. }
  26. }
  27. private boolean isServiceRunning() {
  28. ActivityManager manager = (ActivityManager) context.getSystemService(context.ACTIVITY_SERVICE);
  29. for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)){
  30. if("com.example.teknopole.akhtargroup.LocationService".equals(service.service.getClassName())) {
  31. return true;
  32. }
  33. }
  34. return false;
  35. }
  36. public void setalarm(Context context)
  37. {
  38. Log.e("start alarm manager ", "call");
  39. AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
  40. Intent gpsTrackerIntent = new Intent(context, Receiver.class);
  41. gpsTrackerIntent.setData(Uri.parse("timer:" + uniqueId));
  42. PendingIntent pendingIntent = PendingIntent.getBroadcast(context, uniqueId, gpsTrackerIntent, 0);
  43.  
  44. if(Build.VERSION.SDK_INT >= 23)
  45. {
  46. alarmManager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 180000, pendingIntent);
  47. }
  48. else {
  49. if(Build.VERSION.SDK_INT >= 19) {
  50. {
  51. alarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 180000, pendingIntent);
  52.  
  53. }
  54. } else {
  55. {
  56. alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 180000, pendingIntent);
  57.  
  58. }
  59. }
  60.  
  61. }
  62.  
  63. }
  64. public void setalarmFirst(Context context)
  65. {
  66. Log.e("start alarm manager ", " first call");
  67. AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
  68. Intent gpsTrackerIntent = new Intent(context, Receiver.class);
  69. gpsTrackerIntent.setData(Uri.parse("timer:" + uniqueId));
  70. PendingIntent pendingIntent = PendingIntent.getBroadcast(context, uniqueId, gpsTrackerIntent, 0);
  71.  
  72. if(Build.VERSION.SDK_INT >= 23)
  73. alarmManager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), pendingIntent);
  74. else {
  75. if(Build.VERSION.SDK_INT >= 19) {
  76. alarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), pendingIntent);
  77. } else {
  78. alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), pendingIntent);
  79. }
  80. }
  81. }
  82.  
  83.  
  84. }
  85.  
  86. ////Permission and menifest registration of recever
  87. <uses-permission android:name="android.permission.WAKE_LOCK" />
  88.  
  89. <receiver
  90. android:name=".Receiver"
  91. android:enabled="true"
  92. android:process=":remote" >
  93. <intent-filter>
  94. <data android:scheme="timer:" />
  95. <action android:name="alarm" />
  96. </intent-filter>
  97.  
  98. </receiver>
  99. <service
  100. android:name=".LocationService"
  101. android:enabled="true"
  102. android:exported="false"
  103. >
  104. </service>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement