Java Code Examples for android.app.Notification#FLAG_NO_CLEAR
The following examples show how to use
android.app.Notification#FLAG_NO_CLEAR .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: Notify.java From mosmetro-android with GNU General Public License v3.0 | 6 votes |
public Notify show() { if (!enabled) return this; Notification notification = build(); if (locked && context instanceof Service) { ((Service) context).startForeground(id, notification); return this; } if (locked) { notification.flags |= Notification.FLAG_NO_CLEAR; } nm.notify(id, build()); return this; }
Example 2
Source File: BaseService.java From Lanmitm with GNU General Public License v2.0 | 6 votes |
@SuppressWarnings("deprecation") protected void notice() { NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); Notification n = new Notification(R.drawable.ic_launch_notice, getString(R.string.app_name), System.currentTimeMillis()); n.flags = Notification.FLAG_NO_CLEAR; Intent intent = new Intent(this, cls); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); PendingIntent contentIntent = PendingIntent.getActivity(this, R.string.app_name, intent, PendingIntent.FLAG_UPDATE_CURRENT); n.setLatestEventInfo(this, this.getString(R.string.app_name), my_ticker_text, contentIntent); nm.notify(my_notice_id, n); }
Example 3
Source File: LocationsServiceBase.java From edslite with GNU General Public License v2.0 | 6 votes |
private Notification getServiceRunningNotification() { Intent i = new Intent(this, FileManagerActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); NotificationCompat.Builder builder = new NotificationCompat.Builder(this, CompatHelper.getServiceRunningNotificationsChannelId(this)) .setContentTitle(getString(R.string.eds_service_is_running)) .setSmallIcon(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP ? R.drawable.ic_notification_new : R.drawable.ic_notification) .setContentText("") .setContentIntent(PendingIntent.getActivity(this, 0, i, 0)) .setOngoing(true) .addAction( R.drawable.ic_action_cancel, getString(R.string.close_all_containers), PendingIntent.getActivity( this, 0, new Intent(this, CloseLocationsActivity.class), PendingIntent.FLAG_UPDATE_CURRENT ) ); Notification n = builder.build(); n.flags |= Notification.FLAG_NO_CLEAR | Notification.FLAG_FOREGROUND_SERVICE; return n; }
Example 4
Source File: MainActivity.java From android-switch-env with Apache License 2.0 | 5 votes |
/** * show current enviroment * * @param rscId */ private void showNotification(int rscId) { Notification n = new Notification(R.drawable.switchenv, getResources().getString(rscId), (System.currentTimeMillis() + 1000)); n.flags = Notification.FLAG_NO_CLEAR; n.setLatestEventInfo(context, getResources().getString(R.string.app_name), getResources().getString(rscId), null); n.contentView.setViewVisibility(android.R.id.progress, View.GONE); n.contentIntent = PendingIntent.getActivity(context, 0, new Intent(this, MainActivity.class), PendingIntent.FLAG_UPDATE_CURRENT); notiManager.notify(0, n); }
Example 5
Source File: PirateBoxService.java From AndroidPirateBox with MIT License | 5 votes |
/** * Displays the server status notification * * @param notificationId notification ID to use * @param notificationDrawableId Drawable ID to use * @param appName application name * @param notificationTitle the notification title * @param notificationMessage the notification message */ @SuppressWarnings("deprecation") private void displayNotification(int notificationId, int notificationDrawableId, String appName, String notificationTitle, String notificationMessage) { try { int icon = notificationDrawableId; long when = System.currentTimeMillis(); Notification notification = new Notification(icon, notificationTitle, when); Context context = getApplicationContext(); Intent notificationIntent = new Intent(this, Class.forName(activityClass)); notificationIntent.setAction("android.intent.action.MAIN"); notificationIntent.addCategory("android.intent.category.LAUNCHER"); PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); notification.setLatestEventInfo(context, appName, notificationMessage, contentIntent); notification.flags |= Notification.FLAG_NO_CLEAR; notification.flags |= Notification.FLAG_ONGOING_EVENT; //notificationManager.notify(NOTIFICATION_ID, notification); ServiceCompat sc = new ServiceCompat(this); sc.startForegroundCompat(notificationId, notification); } catch (Resources.NotFoundException e) { // shouldn't happen } catch (ClassNotFoundException ec) { Log.e(TAG, "Could not create notification: " + ec.getMessage()); } }
Example 6
Source File: SaidItService.java From echo with GNU General Public License v3.0 | 5 votes |
synchronized private void innerStartListening() { switch(state) { case STATE_READY: break; case STATE_LISTENING: case STATE_RECORDING: return; } state = STATE_LISTENING; Log.d(TAG, "STARTING LISTENING"); Notification note = new Notification( 0, null, System.currentTimeMillis() ); note.flags |= Notification.FLAG_NO_CLEAR; startForeground( 42, note ); audioThread = new HandlerThread("audioThread", Thread.MAX_PRIORITY); audioThread.start(); audioHandler = new Handler(audioThread.getLooper()); audioHandler.post(new Runnable() { @Override public void run() { audioRecord = new AudioRecord( MediaRecorder.AudioSource.MIC, SAMPLE_RATE, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT, 44100 * 5 * 2); // five seconds in bytes audioRecord.startRecording(); } }); audioHandler.post(audioReader); }
Example 7
Source File: AutoAnswerNotifier.java From auto-answer with GNU General Public License v3.0 | 5 votes |
@SuppressWarnings("deprecation") private void enableNotification() { // Intent to call to turn off AutoAnswer Intent notificationIntent = new Intent(mContext, AutoAnswerPreferenceActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, notificationIntent, 0); // Create the notification Notification n = new Notification(R.drawable.ic_launcher, null, 0); n.flags |= Notification.FLAG_ONGOING_EVENT | Notification.FLAG_NO_CLEAR; n.setLatestEventInfo(mContext, mContext.getString(R.string.notification_title), mContext.getString(R.string.notification_text), pendingIntent); mNotificationManager.notify(NOTIFICATION_ID, n); }
Example 8
Source File: WorkerNotifier.java From remoteyourcam-usb with Apache License 2.0 | 4 votes |
@Override public void onWorkerStarted() { notification.flags |= Notification.FLAG_NO_CLEAR; notificationManager.notify(uniqueId, notification); }
Example 9
Source File: MobileCellsRegistrationService.java From PhoneProfilesPlus with Apache License 2.0 | 4 votes |
private void showNotification(long millisUntilFinished) { String text; if (millisUntilFinished > 0) { text = getString(R.string.mobile_cells_registration_pref_dlg_status_started); String time = getString(R.string.mobile_cells_registration_pref_dlg_status_remaining_time); long iValue = millisUntilFinished / 1000; time = time + ": " + GlobalGUIRoutines.getDurationString((int) iValue); text = text + "; " + time; if (android.os.Build.VERSION.SDK_INT < 24) { text = text + " (" + getString(R.string.ppp_app_name) + ")"; } } else { text = getString(R.string.mobile_cells_registration_pref_dlg_status_stopped); } PPApplication.createMobileCellsRegistrationNotificationChannel(this); NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this, PPApplication.MOBILE_CELLS_REGISTRATION_NOTIFICATION_CHANNEL) .setColor(ContextCompat.getColor(this, R.color.notificationDecorationColor)) .setSmallIcon(R.drawable.ic_exclamation_notify) // notification icon .setContentTitle(getString(R.string.phone_profiles_pref_applicationEventMobileCellsRegistration_notification)) // title for notification .setContentText(text) // message for notification .setAutoCancel(true); // clear notification after click if (millisUntilFinished > 0) { Intent stopRegistrationIntent = new Intent(ACTION_MOBILE_CELLS_REGISTRATION_STOP_BUTTON); PendingIntent stopRegistrationPendingIntent = PendingIntent.getBroadcast(context, 0, stopRegistrationIntent, 0); mBuilder.addAction(R.drawable.ic_action_stop_white, context.getString(R.string.phone_profiles_pref_applicationEventMobileCellsRegistration_stop), stopRegistrationPendingIntent); } mBuilder.setPriority(NotificationCompat.PRIORITY_DEFAULT); //if (android.os.Build.VERSION.SDK_INT >= 21) //{ mBuilder.setCategory(NotificationCompat.CATEGORY_RECOMMENDATION); mBuilder.setVisibility(NotificationCompat.VISIBILITY_PUBLIC); //} Notification notification = mBuilder.build(); notification.flags |= Notification.FLAG_NO_CLEAR | Notification.FLAG_ONGOING_EVENT; notification.flags &= ~Notification.FLAG_SHOW_LIGHTS; notification.ledOnMS = 0; notification.ledOffMS = 0; notification.sound = null; notification.vibrate = null; notification.defaults &= ~DEFAULT_SOUND; notification.defaults &= ~DEFAULT_VIBRATE; startForeground(PPApplication.MOBILE_CELLS_REGISTRATION_SERVICE_NOTIFICATION_ID, notification); }
Example 10
Source File: TrustService.java From trust with Apache License 2.0 | 4 votes |
@Override public void onCreate() { super.onCreate(); Log.d(TAG, "service started"); sPausedVoluntarilz = false; wasVoluntaryStart(); settings = PreferenceManager.getDefaultSharedPreferences(this); PreferenceManager.setDefaultValues(this, R.xml.preferences, false); IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_SCREEN_ON); filter.addAction(Intent.ACTION_SCREEN_OFF); filter.addAction(Intent.ACTION_USER_PRESENT); filter.addAction(Intent.ACTION_NEW_OUTGOING_CALL); filter.addAction(Intent.ACTION_MEDIA_REMOVED); filter.addAction(Intent.ACTION_POWER_CONNECTED); filter.addAction(Intent.ACTION_POWER_DISCONNECTED); filter.addAction(Intent.ACTION_REBOOT); filter.addAction(Intent.ACTION_SHUTDOWN); filter.addAction(Intent.ACTION_DEVICE_STORAGE_LOW); filter.addAction(TelephonyManager.ACTION_PHONE_STATE_CHANGED); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); mTrustReceivers = new TrustReceivers(); registerReceiver(mTrustReceivers, filter); IntentFilter filterPackage = new IntentFilter(); filterPackage.addAction(Intent.ACTION_PACKAGE_ADDED); filterPackage.addAction(Intent.ACTION_PACKAGE_CHANGED); filterPackage.addAction(Intent.ACTION_PACKAGE_DATA_CLEARED); filterPackage.addAction(Intent.ACTION_PACKAGE_REMOVED); filterPackage.addAction(Intent.ACTION_PACKAGE_REPLACED); filterPackage.addAction(Intent.ACTION_PACKAGE_RESTARTED); filterPackage.addDataScheme("package"); registerReceiver(mTrustReceivers, filterPackage); sIsRunning = true; mNotification = new Notification(R.drawable.ic_launcher, "Trust is good", System.currentTimeMillis()); Intent i = new Intent(this, TrustActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); mPendingIntent = PendingIntent.getActivity(this, 0, i, 0); mNotification.setLatestEventInfo(this, "Control is better", "Trust running", mPendingIntent); mNotification.flags |= Notification.FLAG_NO_CLEAR; mNotification.flags |= Notification.FLAG_FOREGROUND_SERVICE; mNotification.flags |= Notification.FLAG_ONGOING_EVENT; if (settings.getBoolean("general.notification", false)) startForeground(NOTIFICATION_ID, mNotification); mAppWatcher = new AppWatcher(this); mAppWatcher.startWatching(); }
Example 11
Source File: StatusBarNotification.java From android_9.0.0_r45 with Apache License 2.0 | 4 votes |
/** Convenience method to check the notification's flags for * either {@link Notification#FLAG_ONGOING_EVENT} or * {@link Notification#FLAG_NO_CLEAR}. */ public boolean isClearable() { return ((notification.flags & Notification.FLAG_ONGOING_EVENT) == 0) && ((notification.flags & Notification.FLAG_NO_CLEAR) == 0); }
Example 12
Source File: MainActivity.java From NotificationDemo with Apache License 2.0 | 4 votes |
@Override public void onClick(View v) { switch (v.getId()) { case R.id.switch_only_alert_once: mBuilder.setOnlyAlertOnce(binding.switchOnlyAlertOnce.isChecked()); break; case R.id.switch_auto_cancel: mBuilder.setAutoCancel(binding.switchAutoCancel.isChecked()); break; case R.id.switch_ongoing: mBuilder.setOngoing(binding.switchOngoing.isChecked()); break; case R.id.switch_info: mBuilder.setContentInfo("info"); break; case R.id.switch_public: if (binding.switchPublic.isChecked()) { mBuilder.setPublicVersion(NotifyUtil.create(this, R.mipmap.ic_wazhi, "public title", "public content.").build()); } else { mBuilder.setPublicVersion(null); } break; case R.id.switch_large_icon: if (binding.switchLargeIcon.isChecked()) { Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.large_icon); mBuilder.setLargeIcon(bitmap); } else { mBuilder.setLargeIcon(null); } break; case R.id.switch_ticker: if (binding.switchTicker.isChecked()) { mBuilder.setTicker("this is ticker"); } else { mBuilder.setTicker(null); } break; case R.id.switch_sub: if (binding.switchSub.isChecked()) { mBuilder.setSubText("his is sub"); } else { mBuilder.setSubText(null); } break; case R.id.switch_content_intent: if (binding.switchContentIntent.isChecked()) { mBuilder.setContentIntent(pi(2000)); } else { mBuilder.setContentIntent(null); mBuilder.mNotification.contentIntent = null; } break; case R.id.switch_delete_intent: if (binding.switchDeleteIntent.isChecked()) { mBuilder.setDeleteIntent(pi(2001)); } else { mBuilder.setDeleteIntent(null); mBuilder.mNotification.deleteIntent = null; } break; case R.id.switch_full_screen_intent: if (binding.switchFullScreenIntent.isChecked()) { mBuilder.setFullScreenIntent(pi(2002), true); } else { mBuilder.setFullScreenIntent(null, false); mBuilder.mNotification.fullScreenIntent = null; } break; case R.id.clear_all: NotifyUtil.cancelAll(this); break; case R.id.clear: NotifyUtil.cancel(this, mNotifyId); break; case R.id.send: mNotifyId++; final Notification notification = mBuilder.build(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if (notification.publicVersion != null && notification.visibility == Notification.VISIBILITY_PUBLIC) { binding.getRoot().postDelayed(new Runnable() { @Override public void run() { NotifyUtil.notify(mBuilder.mContext, mNotifyId, notification); } }, 5000); break; } } if (binding.switchInsistent.isChecked()) { notification.flags |= Notification.FLAG_INSISTENT; } if (binding.switchNoClear.isChecked()) { notification.flags |= Notification.FLAG_NO_CLEAR; } NotifyUtil.notify(this, mNotifyId, notification); break; } }
Example 13
Source File: NotificationService.java From Puff-Android with MIT License | 4 votes |
private void pingNotification(){ notificationmanager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); remoteViews = new RemoteViews(getPackageName(), R.layout.remote_notification); // Open NotificationView Class on Notification Click Intent intent = new Intent(this, MainActivity.class); // Send data to NotificationView Class // Open NotificationView.java Activity PendingIntent pIntent = PendingIntent.getService(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); android.support.v4.app.NotificationCompat.Builder builder = new NotificationCompat.Builder(this) // Set Icon .setSmallIcon(R.mipmap.ic_launcher) // Set Ticker Message .setTicker("Use notification to paste account info") // Set PendingIntent into Notification .setContentIntent(pIntent); notification = builder.build(); notification.flags |= Notification.FLAG_NO_CLEAR; notification.bigContentView = remoteViews; notification.contentView = remoteViews; //Wire up actions. Intent pasteAccountIntent = new Intent(this, NotificationService.class); pasteAccountIntent.setAction(AppConstants.SERVICE_CMD_PASTE_ACCT); PendingIntent pasteAccountPendingIntent = PendingIntent.getService(this, 0, pasteAccountIntent, 0); remoteViews.setOnClickPendingIntent(R.id.account, pasteAccountPendingIntent); Intent pastePasswordIntent = new Intent(this, NotificationService.class); pastePasswordIntent.setAction(AppConstants.SERVICE_CMD_PASTE_PSWD); PendingIntent pastePasswordPendingIntent = PendingIntent.getService(this, 0, pastePasswordIntent, 0); remoteViews.setOnClickPendingIntent(R.id.password, pastePasswordPendingIntent); Intent pasteAddtIntent = new Intent(this, NotificationService.class); pasteAddtIntent.setAction(AppConstants.SERVICE_CMD_PASTE_ADDT); PendingIntent pasteAddtPendingIntent = PendingIntent.getService(this, 0, pasteAddtIntent, 0); remoteViews.setOnClickPendingIntent(R.id.additional, pasteAddtPendingIntent); Intent clearIntent = new Intent(this, NotificationService.class); clearIntent.setAction("stop"); PendingIntent clearPendingIntent = PendingIntent.getService(this, 0, clearIntent, 0); remoteViews.setOnClickPendingIntent(R.id.clear, clearPendingIntent); //Setup remote views. if (StringUtil.isNullOrEmpty(account)) remoteViews.setViewVisibility(R.id.account, View.GONE); if (StringUtil.isNullOrEmpty(password)) remoteViews.setViewVisibility(R.id.password, View.GONE); if (StringUtil.isNullOrEmpty(additional)) remoteViews.setViewVisibility(R.id.additional, View.GONE); remoteViews.setTextViewText(R.id.remote_name, name); Picasso.with(this).load(ResUtil.getInstance(getApplicationContext()).getBmpUri(icon)) .into(remoteViews, R.id.remote_icon, 22333, notification); startForeground(22333, notification); }
Example 14
Source File: BrewTimerService.java From biermacht with Apache License 2.0 | 4 votes |
/** * Updates the notification in the notification bar which shows the current step and the remaining * time left. This is updated every time the timer ticks down, as well as in special cases (like * when the timer changes state). * * @param title * @param remaining */ public void updateNotification(String title, int remaining) { // Build remaining time string java.text.DecimalFormat nft = new java.text.DecimalFormat("#00.###"); nft.setDecimalSeparatorAlwaysShown(false); // Grab hours, minutes, and seconds int hours = (int) (remaining / 3600); int minutes = (int) ((remaining - 3600 * hours) / 60); int seconds = remaining - (hours * 3600) - (minutes * 60); String remainingTime = "Next step in: " + nft.format(hours) + ":" + nft.format(minutes) + ":" + nft.format(seconds); // If no time remains, the timer is paused. if (timer.timerState == Constants.PAUSED) { remainingTime = "Paused"; } // Notification builders NotificationCompat.Builder nBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.ic_stat_name) .setContentTitle(title) .setContentText(remainingTime); // Intent for when notification is clicked. brewTimerIntent = new Intent(this, BrewTimerActivity.class); brewTimerIntent.putExtra(Constants.KEY_RECIPE, r); brewTimerIntent.putExtra(Constants.KEY_STEP_NUMBER, currentStepNumber); brewTimerIntent.putExtra(Constants.KEY_TIMER_STATE, timer.timerState); brewTimerIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); PendingIntent pi = PendingIntent.getActivity(this, 0, brewTimerIntent, PendingIntent.FLAG_UPDATE_CURRENT); nBuilder.setContentIntent(pi); Notification note = nBuilder.build(); note.flags |= Notification.FLAG_NO_CLEAR; // Start the notification NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); if (! notificationStarted) { startForeground(notificationId, note); notificationStarted = true; } else { nm.notify(notificationId, note); } }
Example 15
Source File: SaidItService.java From echo with GNU General Public License v3.0 | 4 votes |
private void innerStartListening() { switch(state) { case STATE_READY: break; case STATE_LISTENING: case STATE_RECORDING: return; } state = STATE_LISTENING; Log.d(TAG, "Queueing: START LISTENING"); startService(new Intent(this, this.getClass())); final long memorySize = getSharedPreferences(PACKAGE_NAME, MODE_PRIVATE).getLong(AUDIO_MEMORY_SIZE_KEY, Runtime.getRuntime().maxMemory() / 4); Notification note = new Notification( 0, null, System.currentTimeMillis() ); note.flags |= Notification.FLAG_NO_CLEAR; startForeground(42, note); startService(new Intent(this, FakeService.class)); audioHandler.post(new Runnable() { @Override public void run() { Log.d(TAG, "Executing: START LISTENING"); Log.d(TAG, "Audio: INITIALIZING AUDIO_RECORD"); audioRecord = new AudioRecord( MediaRecorder.AudioSource.MIC, SAMPLE_RATE, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT, 512 * 1024); // .5MB if(audioRecord.getState() != AudioRecord.STATE_INITIALIZED) { Log.e(TAG, "Audio: INITIALIZATION ERROR - releasing resources"); audioRecord.release(); audioRecord = null; state = STATE_READY; return; } Log.d(TAG, "Audio: STARTING AudioRecord"); audioMemory.allocate(memorySize); Log.d(TAG, "Audio: STARTING AudioRecord"); audioRecord.startRecording(); audioHandler.post(audioReader); } }); }
Example 16
Source File: MusicNotificationManager.java From vk_music_android with GNU General Public License v3.0 | 4 votes |
void createNotification() { if (notification != null) return; createMediaSession(); Intent playPauseIntent = new Intent(context, MusicService.class); playPauseIntent.putExtra(MusicService.KEY_ACTION, MusicService.ACTION_PLAY_PAUSE); PendingIntent playPausePendingIntent = PendingIntent.getService(context, MusicService.ACTION_PLAY_PAUSE, playPauseIntent, PendingIntent.FLAG_UPDATE_CURRENT); Intent previousIntent = new Intent(context, MusicService.class); previousIntent.putExtra(MusicService.KEY_ACTION, MusicService.ACTION_PREVIOUS); PendingIntent previousPendingIntent = PendingIntent.getService(context, MusicService.ACTION_PREVIOUS, previousIntent, PendingIntent.FLAG_UPDATE_CURRENT); Intent nextIntent = new Intent(context, MusicService.class); nextIntent.putExtra(MusicService.KEY_ACTION, MusicService.ACTION_NEXT); PendingIntent nextPendingIntent = PendingIntent.getService(context, MusicService.ACTION_NEXT, nextIntent, PendingIntent.FLAG_UPDATE_CURRENT); Intent addIntent = new Intent(context, MusicService.class); addIntent.putExtra(MusicService.KEY_ACTION, MusicService.ACTION_ADD); PendingIntent addPendingIntent = PendingIntent.getService(context, MusicService.ACTION_ADD, addIntent, PendingIntent.FLAG_UPDATE_CURRENT); Intent dismissIntent = new Intent(context, MusicService.class); dismissIntent.putExtra(MusicService.KEY_ACTION, MusicService.ACTION_DISMISS); PendingIntent dismissPendingIntent = PendingIntent.getService(context, MusicService.ACTION_DISMISS, dismissIntent, PendingIntent.FLAG_UPDATE_CURRENT); Intent openActivityIntent = new Intent(context, MusicService.class); openActivityIntent.putExtra(MusicService.KEY_ACTION, MusicService.ACTION_OPEN_ACTIVITY); PendingIntent openActivityPendingIntent = PendingIntent.getService(context, MusicService.ACTION_OPEN_ACTIVITY, openActivityIntent, PendingIntent.FLAG_UPDATE_CURRENT); notificationViewSmall = new RemoteViews(context.getPackageName(), R.layout.layout_notification_small); notificationViewSmall.setTextViewText(R.id.title, context.getString(R.string.no_track_playing)); notificationViewSmall.setTextViewText(R.id.artist, ""); notificationViewSmall.setOnClickPendingIntent(R.id.play_pause, playPausePendingIntent); notificationViewSmall.setOnClickPendingIntent(R.id.previous, previousPendingIntent); notificationViewSmall.setOnClickPendingIntent(R.id.next, nextPendingIntent); notificationViewSmall.setOnClickPendingIntent(R.id.dismiss, dismissPendingIntent); notificationViewLarge = new RemoteViews(context.getPackageName(), R.layout.layout_notification_large); notificationViewLarge.setTextViewText(R.id.title, context.getString(R.string.no_track_playing)); notificationViewLarge.setTextViewText(R.id.artist, ""); notificationViewLarge.setOnClickPendingIntent(R.id.play_pause, playPausePendingIntent); notificationViewLarge.setOnClickPendingIntent(R.id.previous, previousPendingIntent); notificationViewLarge.setOnClickPendingIntent(R.id.next, nextPendingIntent); notificationViewLarge.setOnClickPendingIntent(R.id.dismiss, dismissPendingIntent); notificationViewLarge.setOnClickPendingIntent(R.id.add, addPendingIntent); notification = new NotificationCompat.Builder(context) .setSmallIcon(R.drawable.ic_notification) .setContentIntent(openActivityPendingIntent) .setContentTitle("vk Music") .setContent(notificationViewSmall) .setCustomBigContentView(notificationViewLarge) .build(); notification.flags |= Notification.FLAG_NO_CLEAR; notificationManager = (android.app.NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.notify(NOTIFICATION_ID, notification); }
Example 17
Source File: NotificationUtil.java From QuickLyric with GNU General Public License v3.0 | 4 votes |
public static Notification makeNotification(Context context, String artist, String track, long duration, boolean retentionNotif, boolean isPlaying) { SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context); boolean prefOverlay = sharedPref.getBoolean("pref_overlay", false) && (Build.VERSION.SDK_INT < Build.VERSION_CODES.M || Settings.canDrawOverlays(context)); int notificationPref = prefOverlay ? 2 : Integer.valueOf(sharedPref.getString("pref_notifications", "0")); Intent activityIntent = new Intent(context.getApplicationContext(), MainActivity.class) .setAction("com.geecko.QuickLyric.getLyrics") .putExtra("retentionNotif", retentionNotif) .putExtra("TAGS", new String[]{artist, track}); Intent wearableIntent = new Intent("com.geecko.QuickLyric.SEND_TO_WEARABLE") .putExtra("artist", artist).putExtra("track", track).putExtra("duration", duration); final Intent overlayIntent = new Intent(context.getApplicationContext(), LyricsOverlayService.class) .setAction(LyricsOverlayService.CLICKED_FLOATING_ACTION); PendingIntent overlayPending = PendingIntent.getService(context.getApplicationContext(), 0, overlayIntent, PendingIntent.FLAG_UPDATE_CURRENT); PendingIntent openAppPending = PendingIntent.getActivity(context.getApplicationContext(), 0, activityIntent, PendingIntent.FLAG_CANCEL_CURRENT); PendingIntent wearablePending = PendingIntent.getBroadcast(context.getApplicationContext(), 8, wearableIntent, PendingIntent.FLAG_CANCEL_CURRENT); NotificationCompat.Action wearableAction = new NotificationCompat.Action.Builder(R.drawable.ic_watch, context.getString(R.string.wearable_prompt), wearablePending) .build(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationChannel notificationChannel = new NotificationChannel(notificationPref == 1 && isPlaying ? TRACK_NOTIF_CHANNEL : TRACK_NOTIF_HIDDEN_CHANNEL, context.getString(R.string.pref_notifications), notificationPref == 1 && isPlaying ? NotificationManager.IMPORTANCE_LOW : NotificationManager.IMPORTANCE_MIN); notificationChannel.setShowBadge(false); NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.createNotificationChannel(notificationChannel); } NotificationCompat.Builder notifBuilder = new NotificationCompat.Builder(context.getApplicationContext(), notificationPref == 1 && isPlaying ? TRACK_NOTIF_CHANNEL : TRACK_NOTIF_HIDDEN_CHANNEL); NotificationCompat.Builder wearableNotifBuilder = new NotificationCompat.Builder(context.getApplicationContext(), TRACK_NOTIF_HIDDEN_CHANNEL); int[] themes = new int[]{R.style.Theme_QuickLyric, R.style.Theme_QuickLyric_Red, R.style.Theme_QuickLyric_Purple, R.style.Theme_QuickLyric_Indigo, R.style.Theme_QuickLyric_Green, R.style.Theme_QuickLyric_Lime, R.style.Theme_QuickLyric_Brown, R.style.Theme_QuickLyric_Dark}; int themeNum = Integer.valueOf(sharedPref.getString("pref_theme", "0")); context.setTheme(themes[themeNum]); notifBuilder.setSmallIcon(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP ? R.drawable.ic_notif : R.drawable.ic_notif4) .setContentTitle(context.getString(R.string.app_name)) .setContentText(String.format("%s - %s", artist, track)) .setContentIntent(prefOverlay ? overlayPending : openAppPending) .setVisibility(-1) // Notification.VISIBILITY_SECRET .setGroup("Lyrics_Notification") .setColor(ColorUtils.getPrimaryColor(context)) .setShowWhen(false) .setGroupSummary(true); wearableNotifBuilder.setSmallIcon(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP ? R.drawable.ic_notif : R.drawable.ic_notif4) .setContentTitle(context.getString(R.string.app_name)) .setContentText(String.format("%s - %s", artist, track)) .setContentIntent(openAppPending) .setVisibility(-1) // Notification.VISIBILITY_SECRET .setGroup("Lyrics_Notification") .setOngoing(false) .setColor(ColorUtils.getPrimaryColor(context)) .setGroupSummary(false) .setShowWhen(false) .extend(new NotificationCompat.WearableExtender().addAction(wearableAction)); if (notificationPref == 2) { notifBuilder.setOngoing(true).setPriority(-2); // Notification.PRIORITY_MIN wearableNotifBuilder.setPriority(-2); } else notifBuilder.setPriority(-1); // Notification.PRIORITY_LOW Notification notif = notifBuilder.build(); Notification wearableNotif = wearableNotifBuilder.build(); if (notificationPref == 2 || Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) notif.flags |= Notification.FLAG_NO_CLEAR | Notification.FLAG_ONGOING_EVENT; if (notificationPref == 1) notif.flags |= Notification.FLAG_AUTO_CANCEL; try { context.getPackageManager().getPackageInfo("com.google.android.wearable.app", PackageManager.GET_META_DATA); NotificationManagerCompat.from(context).notify(8, wearableNotif); // TODO Make Android Wear app } catch (PackageManager.NameNotFoundException ignored) { } return notif; }
Example 18
Source File: StepService.java From android-pedometer with Apache License 2.0 | 4 votes |
private void initNotification() { notification = new Notification(R.drawable.icon, "Pedometer started.", System.currentTimeMillis()); notification.flags = Notification.FLAG_NO_CLEAR | Notification.FLAG_ONGOING_EVENT; }
Example 19
Source File: FakeService.java From echo with GNU General Public License v3.0 | 3 votes |
@Override public int onStartCommand(Intent intent, int flags, int startId) { Notification note = new Notification( 0, null, System.currentTimeMillis() ); note.flags |= Notification.FLAG_NO_CLEAR; startForeground(42, note); stopForeground(true); stopSelf(); return super.onStartCommand(intent, flags, startId); }
Example 20
Source File: FloatViewManager.java From RelaxFinger with GNU General Public License v2.0 | 2 votes |
private void createShowNotification() { NotificationManager mNF = (NotificationManager) mContext.getSystemService(NOTIFICATION_SERVICE); NotificationCompat.Builder mBuilder; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { String name = "com_hardwork_fg607_relaxfinger_channel"; String id = "悬浮助手"; String description = "悬浮助手channel"; int importance = NotificationManager.IMPORTANCE_HIGH; NotificationChannel mChannel = new NotificationChannel(id, name, importance); mChannel.setDescription(description); mChannel.enableVibration(true); mChannel.setVibrationPattern(new long[]{100, 200, 300, 400, 500, 400, 300, 200, 400}); mNF.createNotificationChannel(mChannel); mBuilder = new NotificationCompat.Builder(mContext,id) .setSmallIcon(R.mipmap.ic_launcher) .setContentTitle("RelaxFinger") .setTicker("悬浮球隐藏到通知栏啦,点击显示!") .setContentText("点击显示悬浮球"); }else{ mBuilder = new NotificationCompat.Builder(mContext) .setSmallIcon(R.mipmap.ic_launcher) .setContentTitle("RelaxFinger") .setTicker("悬浮球隐藏到通知栏啦,点击显示!") .setContentText("点击显示悬浮球"); } Intent resultIntent = new Intent(Config.ACTION_SHOW_FLOATBALL); PendingIntent resultPendingIntent = PendingIntent.getBroadcast(mContext,(int) SystemClock.uptimeMillis(), resultIntent, PendingIntent.FLAG_UPDATE_CURRENT); mBuilder.setContentIntent(resultPendingIntent); Notification notification = mBuilder.build(); notification.flags |= Notification.FLAG_NO_CLEAR; mNF.notify(R.string.app_name, notification); }