Android状态栏通知:使其不可清除并返回应用程序(不启动新实例)

Android状态栏通知:使其不可清除并返回应用程序(不启动新实例),android,notifications,statusbar,Android,Notifications,Statusbar,我正在开发一个Android应用程序,我想要一个用户无法清除的状态栏通知。有人知道怎么做吗?我在Skimble之类的应用程序中见过它们,在使用应用程序时会出现不可清除的通知 另外,当用户单击/按下通知时,我希望它返回到已经运行的应用程序实例。现在它启动一个新实例。同样像Skimble应用程序一样,我只想返回已经运行的应用程序实例 谢谢。我找到了解决这个问题的办法。我使用FLAG_Continuous_事件使通知保持不变。代码如下: String ns = Context.NOTIFICATI

我正在开发一个Android应用程序,我想要一个用户无法清除的状态栏通知。有人知道怎么做吗?我在Skimble之类的应用程序中见过它们,在使用应用程序时会出现不可清除的通知

另外,当用户单击/按下通知时,我希望它返回到已经运行的应用程序实例。现在它启动一个新实例。同样像Skimble应用程序一样,我只想返回已经运行的应用程序实例


谢谢。

我找到了解决这个问题的办法。我使用FLAG_Continuous_事件使通知保持不变。代码如下:

  String ns = Context.NOTIFICATION_SERVICE;
  NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);

    int icon = R.drawable.mypic;
    long when = System.currentTimeMillis();
    Notification notification = new Notification(icon, tickerText, when);
    notification.flags = Notification.FLAG_ONGOING_EVENT;

    Context context = getApplicationContext();
    CharSequence contentTitle = "Title Text";
    CharSequence contentText = "Content text.";

    Intent intent = new Intent(this, MyClass.class); 
    intent.setAction("android.intent.action.MAIN"); 
    intent.addCategory("android.intent.category.LAUNCHER"); 
    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0); 

    notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);

    final int HELLO_ID = 1;
    mNotificationManager.notify(HELLO_ID, notification);

notification.SetLateStevenInfo已被弃用,因此您必须使用notification.builder,如果您使用2.X及更低版本的API,则必须使用NotificationComacpt.builder,这不适用,我无法保留我的通知。所以我使用了setDeleteIntent并指向同一个activity和on resume方法,只需调用显示通知的代码块。因此,这是一种解决方法。

以下是针对
NotificationCompat.Builder

NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
        .setSmallIcon(R.drawable.ic_launcher)
        .setContentTitle("MyApp")
        .setContentText("MyMsg")
        .setOngoing(true);

更多信息,请参见。

不使用
标志\u持续\u事件
也可以使用
标志\u否\u清除
,具体取决于您希望通知显示的位置(更多信息)