Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Receiver extends WakefulBroadcastReceiver {
- int uniqueId=1;
- public static String tag="Receiver";
- Context context;
- PowerManager pawerManager;
- public static PowerManager.WakeLock wakeLock=null;
- public void onReceive(final Context context, Intent intent) {
- pawerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
- wakeLock = pawerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "");
- wakeLock.acquire();
- setalarm(context);
- this.context=context;
- Log.e("Receiver", "call");
- Intent in=new Intent(context,LocationService.class);
- // startServiceIntent = new Intent(context, LocationService.class);
- if(!isServiceRunning())
- {
- Log.e("startserviceFromRecever", "call");
- startWakefulService(context,in);
- }
- else
- {
- Log.e("startserviceFromRecever", "not call");
- }
- }
- private boolean isServiceRunning() {
- ActivityManager manager = (ActivityManager) context.getSystemService(context.ACTIVITY_SERVICE);
- for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)){
- if("com.example.teknopole.akhtargroup.LocationService".equals(service.service.getClassName())) {
- return true;
- }
- }
- return false;
- }
- public void setalarm(Context context)
- {
- Log.e("start alarm manager ", "call");
- AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
- Intent gpsTrackerIntent = new Intent(context, Receiver.class);
- gpsTrackerIntent.setData(Uri.parse("timer:" + uniqueId));
- PendingIntent pendingIntent = PendingIntent.getBroadcast(context, uniqueId, gpsTrackerIntent, 0);
- if(Build.VERSION.SDK_INT >= 23)
- {
- alarmManager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 180000, pendingIntent);
- }
- else {
- if(Build.VERSION.SDK_INT >= 19) {
- {
- alarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 180000, pendingIntent);
- }
- } else {
- {
- alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 180000, pendingIntent);
- }
- }
- }
- }
- public void setalarmFirst(Context context)
- {
- Log.e("start alarm manager ", " first call");
- AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
- Intent gpsTrackerIntent = new Intent(context, Receiver.class);
- gpsTrackerIntent.setData(Uri.parse("timer:" + uniqueId));
- PendingIntent pendingIntent = PendingIntent.getBroadcast(context, uniqueId, gpsTrackerIntent, 0);
- if(Build.VERSION.SDK_INT >= 23)
- alarmManager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), pendingIntent);
- else {
- if(Build.VERSION.SDK_INT >= 19) {
- alarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), pendingIntent);
- } else {
- alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), pendingIntent);
- }
- }
- }
- }
- ////Permission and menifest registration of recever
- <uses-permission android:name="android.permission.WAKE_LOCK" />
- <receiver
- android:name=".Receiver"
- android:enabled="true"
- android:process=":remote" >
- <intent-filter>
- <data android:scheme="timer:" />
- <action android:name="alarm" />
- </intent-filter>
- </receiver>
- <service
- android:name=".LocationService"
- android:enabled="true"
- android:exported="false"
- >
- </service>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement