List of usage examples for android.app PendingIntent getService
public static PendingIntent getService(Context context, int requestCode, @NonNull Intent intent, @Flags int flags)
From source file:com.stasbar.knowyourself.alarms.AlarmNotifications.java
public static void showLowPriorityNotification(Context context, AlarmInstance instance) { LogUtils.v("Displaying low priority notification for alarm instance: " + instance.mId); NotificationCompat.Builder notification = new NotificationCompat.Builder(context).setShowWhen(false) .setContentTitle(context.getString(R.string.alarm_alert_predismiss_title)) .setContentText(AlarmUtils.getAlarmText(context, instance, true /* includeLabel */)) .setColor(ContextCompat.getColor(context, R.color.default_background)) .setSmallIcon(R.drawable.stat_notify_alarm).setAutoCancel(false).setSortKey(createSortKey(instance)) .setPriority(NotificationCompat.PRIORITY_DEFAULT).setCategory(NotificationCompat.CATEGORY_ALARM) .setVisibility(NotificationCompat.VISIBILITY_PUBLIC).setLocalOnly(true); if (Utils.isNOrLater()) { notification.setGroup(UPCOMING_GROUP_KEY); }//from w w w.ja v a 2 s. c o m // Setup up hide notification Intent hideIntent = AlarmStateManager.createStateChangeIntent(context, AlarmStateManager.ALARM_DELETE_TAG, instance, AlarmInstance.HIDE_NOTIFICATION_STATE); notification.setDeleteIntent(PendingIntent.getService(context, instance.hashCode(), hideIntent, PendingIntent.FLAG_UPDATE_CURRENT)); // Setup up dismiss action Intent dismissIntent = AlarmStateManager.createStateChangeIntent(context, AlarmStateManager.ALARM_DISMISS_TAG, instance, AlarmInstance.PREDISMISSED_STATE); notification.addAction(R.drawable.ic_alarm_off_24dp, context.getString(R.string.alarm_alert_dismiss_now_text), PendingIntent.getService(context, instance.hashCode(), dismissIntent, PendingIntent.FLAG_UPDATE_CURRENT)); // Setup content action if instance is owned by alarm Intent viewAlarmIntent = createViewAlarmIntent(context, instance); notification.setContentIntent(PendingIntent.getActivity(context, instance.hashCode(), viewAlarmIntent, PendingIntent.FLAG_UPDATE_CURRENT)); NotificationManagerCompat nm = NotificationManagerCompat.from(context); nm.notify(instance.hashCode(), notification.build()); updateAlarmGroupNotification(context); }
From source file:com.google.android.apps.muzei.datalayer.ActivateMuzeiIntentService.java
public static void maybeShowActivateMuzeiNotification(Context context) { SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); if (preferences.getBoolean(ACTIVATE_MUZEI_NOTIF_SHOWN_PREF_KEY, false)) { return;// www . j av a 2s .c o m } NotificationManager notificationManager = (NotificationManager) context .getSystemService(NOTIFICATION_SERVICE); StatusBarNotification[] notifications = notificationManager.getActiveNotifications(); boolean hasInstallNotification = false; boolean hasActivateNotification = false; for (StatusBarNotification notification : notifications) { if (notification.getId() == INSTALL_NOTIFICATION_ID) { hasInstallNotification = true; } else if (notification.getId() == ACTIVATE_NOTIFICATION_ID) { hasActivateNotification = true; } } NotificationCompat.Builder builder = new NotificationCompat.Builder(context); builder.setSmallIcon(R.drawable.ic_stat_muzei) .setColor(ContextCompat.getColor(context, R.color.notification)) .setPriority(NotificationCompat.PRIORITY_MAX).setDefaults(NotificationCompat.DEFAULT_VIBRATE) .setAutoCancel(true).setContentTitle(context.getString(R.string.activate_title)); Intent deleteIntent = new Intent(context, ActivateMuzeiIntentService.class); deleteIntent.setAction(ACTION_MARK_NOTIFICATION_READ); builder.setDeleteIntent(PendingIntent.getService(context, 0, deleteIntent, 0)); // Check if the Muzei main app is installed GoogleApiClient googleApiClient = new GoogleApiClient.Builder(context).addApi(Wearable.API).build(); ConnectionResult connectionResult = googleApiClient.blockingConnect(30, TimeUnit.SECONDS); Set<Node> nodes = new TreeSet<>(); if (connectionResult.isSuccess()) { nodes = Wearable.CapabilityApi .getCapability(googleApiClient, "activate_muzei", CapabilityApi.FILTER_ALL).await() .getCapability().getNodes(); googleApiClient.disconnect(); } if (nodes.isEmpty()) { if (hasInstallNotification) { // No need to repost the notification return; } // Send an install Muzei notification if (PlayStoreAvailability.getPlayStoreAvailabilityOnPhone( context) != PlayStoreAvailability.PLAY_STORE_ON_PHONE_AVAILABLE) { builder.setContentText(context.getString(R.string.activate_no_play_store)); FirebaseAnalytics.getInstance(context).logEvent("activate_notif_no_play_store", null); } else { builder.setContentText(context.getString(R.string.activate_install_muzei)); Intent installMuzeiIntent = new Intent(context, ActivateMuzeiIntentService.class); installMuzeiIntent.setAction(ACTION_REMOTE_INSTALL_MUZEI); PendingIntent pendingIntent = PendingIntent.getService(context, 0, installMuzeiIntent, 0); builder.addAction(new NotificationCompat.Action.Builder(R.drawable.open_on_phone, context.getString(R.string.activate_install_action), pendingIntent) .extend(new NotificationCompat.Action.WearableExtender() .setHintDisplayActionInline(true).setAvailableOffline(false)) .build()); builder.extend(new NotificationCompat.WearableExtender().setContentAction(0)); FirebaseAnalytics.getInstance(context).logEvent("activate_notif_play_store", null); } notificationManager.notify(INSTALL_NOTIFICATION_ID, builder.build()); return; } // else, Muzei is installed on the phone/tablet, but not activated if (hasInstallNotification) { // Clear any install Muzei notification notificationManager.cancel(INSTALL_NOTIFICATION_ID); } if (hasActivateNotification) { // No need to repost the notification return; } String nodeName = nodes.iterator().next().getDisplayName(); builder.setContentText(context.getString(R.string.activate_enable_muzei, nodeName)); Intent launchMuzeiIntent = new Intent(context, ActivateMuzeiIntentService.class); PendingIntent pendingIntent = PendingIntent.getService(context, 0, launchMuzeiIntent, 0); builder.addAction(new NotificationCompat.Action.Builder(R.drawable.open_on_phone, context.getString(R.string.activate_action, nodeName), pendingIntent) .extend(new NotificationCompat.Action.WearableExtender().setHintDisplayActionInline(true) .setAvailableOffline(false)) .build()); Bitmap background = null; try { background = BitmapFactory.decodeStream(context.getAssets().open("starrynight.jpg")); } catch (IOException e) { Log.e(TAG, "Error reading default background asset", e); } builder.extend(new NotificationCompat.WearableExtender().setContentAction(0).setBackground(background)); FirebaseAnalytics.getInstance(context).logEvent("activate_notif_installed", null); notificationManager.notify(ACTIVATE_NOTIFICATION_ID, builder.build()); }
From source file:net.frakbot.FWeather.util.WeatherHelper.java
/** * Gets the current location.//from ww w . j ava 2 s .c o m * * @param context The current {@link Context}. * @return Returns the current location */ public static Location getLocation(Context context) throws LocationHelper.LocationNotReadyYetException { final Intent intent = WidgetHelper.getUpdaterIntent(context, false, false); final PendingIntent pendingIntent = PendingIntent.getService(context, 42, intent, 0); return LocationHelper.getLastKnownSurroundings(pendingIntent); }
From source file:com.google.devplat.lmoroney.locationlesson3_1.MainActivity.java
private PendingIntent getGeofencePendingIntent() { Intent intent = new Intent(this, GeofenceTransitionsIntentService.class); // We use FLAG_UPDATE_CURRENT so that we get the same pending intent back when calling addgeoFences() return PendingIntent.getService(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); }
From source file:com.wizardsofm.deskclock.alarms.AlarmNotifications.java
public static void showLowPriorityNotification(Context context, AlarmInstance instance) { LogUtils.v("Displaying low priority notification for alarm instance: " + instance.mId); mcontext = context;//from w w w. j a va 2s .co m NotificationCompat.Builder notification = new NotificationCompat.Builder(context).setShowWhen(false) .setContentTitle(context.getString(com.wizardsofm.deskclock.R.string.alarm_alert_predismiss_title)) .setContentText(AlarmUtils.getAlarmText(context, instance, true /* includeLabel */)) .setColor(ContextCompat.getColor(context, com.wizardsofm.deskclock.R.color.default_background)) .setSmallIcon(com.wizardsofm.deskclock.R.drawable.stat_notify_alarm).setAutoCancel(false) .setSortKey(createSortKey(instance)).setPriority(NotificationCompat.PRIORITY_DEFAULT) .setCategory(NotificationCompat.CATEGORY_ALARM).setVisibility(NotificationCompat.VISIBILITY_PUBLIC) .setLocalOnly(true); if (Utils.isNOrLater()) { notification.setGroup(UPCOMING_GROUP_KEY); } // Setup up hide notification Intent hideIntent = AlarmStateManager.createStateChangeIntent(context, AlarmStateManager.ALARM_DELETE_TAG, instance, AlarmInstance.HIDE_NOTIFICATION_STATE); notification.setDeleteIntent(PendingIntent.getService(context, instance.hashCode(), hideIntent, PendingIntent.FLAG_UPDATE_CURRENT)); // Setup up dismiss action Intent dismissIntent = AlarmStateManager.createStateChangeIntent(context, AlarmStateManager.ALARM_DISMISS_TAG, instance, AlarmInstance.PREDISMISSED_STATE); notification.addAction(com.wizardsofm.deskclock.R.drawable.ic_alarm_off_24dp, context.getString(com.wizardsofm.deskclock.R.string.alarm_alert_dismiss_now_text), PendingIntent.getService(context, instance.hashCode(), dismissIntent, PendingIntent.FLAG_UPDATE_CURRENT)); // Setup content action if instance is owned by alarm Intent viewAlarmIntent = createViewAlarmIntent(context, instance); notification.setContentIntent(PendingIntent.getActivity(context, instance.hashCode(), viewAlarmIntent, PendingIntent.FLAG_UPDATE_CURRENT)); NotificationManagerCompat nm = NotificationManagerCompat.from(context); nm.notify(instance.hashCode(), notification.build()); updateAlarmGroupNotification(context); }
From source file:com.jtechme.apphub.UpdateService.java
public static void schedule(Context ctx) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); String sint = prefs.getString(Preferences.PREF_UPD_INTERVAL, "0"); int interval = Integer.parseInt(sint); Intent intent = new Intent(ctx, UpdateService.class); PendingIntent pending = PendingIntent.getService(ctx, 0, intent, 0); AlarmManager alarm = (AlarmManager) ctx.getSystemService(Context.ALARM_SERVICE); alarm.cancel(pending);/* www . j a v a2 s . co m*/ if (interval > 0) { alarm.setInexactRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime() + 5000, AlarmManager.INTERVAL_HOUR, pending); Utils.debugLog(TAG, "Update scheduler alarm set"); } else { Utils.debugLog(TAG, "Update scheduler alarm not set"); } }
From source file:com.capstone.transit.trans_it.RouteMap.java
@Override protected void onPause() { super.onPause(); stopService(positionsServiceIntent); positionsServiceIntent = new Intent(getApplicationContext(), RefreshPositionsService.class); final PendingIntent pendingIntent = PendingIntent.getService(this, 0, positionsServiceIntent, PendingIntent.FLAG_UPDATE_CURRENT); AlarmManager alarm = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE); alarm.cancel(pendingIntent);/*ww w . j av a 2 s .c o m*/ }
From source file:cc.softwarefactory.lokki.android.services.DataService.java
private void setTimer() { alarm = (AlarmManager) getSystemService(ALARM_SERVICE); Intent alarmIntent = new Intent(this, DataService.class); alarmIntent.putExtra(ALARM_TIMER, 1); alarmCallback = PendingIntent.getService(this, 0, alarmIntent, 0); alarm.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, 0, 30 * 1000, alarmCallback); Log.e(TAG, "Timer created."); }
From source file:li.klass.fhem.appwidget.view.widget.medium.TargetStateWidgetView.java
@Override protected void fillWidgetView(Context context, RemoteViews view, FhemDevice<?> device, WidgetConfiguration widgetConfiguration) { String payload = widgetConfiguration.payload.get(1); String state = device.getEventMapStateFor(payload); view.setTextViewText(R.id.button, state); PendingIntent pendingIntent;// w w w. jav a 2 s. c o m if (requiresAdditionalInformation(state)) { Intent actionIntent = new Intent(context, TargetStateAdditionalInformationActivity.class); actionIntent.putExtra(BundleExtraKeys.DEVICE_NAME, device.getName()); actionIntent.putExtra(BundleExtraKeys.DEVICE_TARGET_STATE, payload); actionIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); pendingIntent = PendingIntent.getActivity(context, widgetConfiguration.widgetId, actionIntent, FLAG_UPDATE_CURRENT); } else { Intent actionIntent = new Intent(Actions.DEVICE_SET_STATE); actionIntent.setClass(context, DeviceIntentService.class); actionIntent.putExtra(BundleExtraKeys.DEVICE_NAME, device.getName()); actionIntent.putExtra(BundleExtraKeys.DEVICE_TARGET_STATE, payload); pendingIntent = PendingIntent.getService(context, widgetConfiguration.widgetId, actionIntent, FLAG_UPDATE_CURRENT); } view.setOnClickPendingIntent(R.id.button, pendingIntent); openDeviceDetailPageWhenClicking(R.id.main, view, device, widgetConfiguration, context); }
From source file:com.horizondigital.delta.UpdateService.java
public static PendingIntent alarmPending(Context context, int id) { Intent intent = new Intent(context, UpdateService.class); intent.setAction(ACTION_ALARM);/*ww w . ja v a 2s.c om*/ intent.putExtra(EXTRA_ALARM_ID, id); return PendingIntent.getService(context, id, intent, 0); }