2011-09-02 103 views
0

当我点击状态栏通知时,它会加载我的webview,但每次都会重新加载它。有没有办法加载保存的状态?由于这里是我有:从状态栏通知启动webview类

@Override 
public void onStart(Intent intent, int startid) { 
    String ns = Context.NOTIFICATION_SERVICE; 
    NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns); 

    int icon = R.drawable.notification_icon; 
    CharSequence tickerText = "Now playing..."; 
    long when = System.currentTimeMillis(); 

    Notification notification = new Notification(icon, tickerText, when); 

    Context context = getApplicationContext(); 
    CharSequence contentTitle = "Music Promotion"; 
    CharSequence contentText = "Now Playing..."; 
    Intent notificationIntent = new Intent(this, mainmenu.class); 
    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); 

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



    mNotificationManager.notify(HELLO_ID, notification); 

} 
+0

您好,请解释一下你的问题/您的要求,在这里把你的代码,这样的理解会很容易。 – anddev

+0

我的应用程序是一个web浏览器,当单击一个mp3链接时启动mediaplayer,并在这种情况发生时创建一个状态栏通知。当你点击状态栏通知时,它会启动我的mainmenu.class这是webview。当发生这种情况时,webview会从头开始加载,我不希望发生这种情况。我希望它打开并且不做任何事(在他们所在的网页上留下余地) –

+0

我用更多的代码编辑了这个问题。我认为它在点击状态栏通知时触发了onCreate方法,我不希望这样做。我只是希望它切换到视图或打开它 –

回答

0

添加以下内容:

notificationIntent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 

这就是文档说怎么样FLAG_ACTIVITY_REORDER_TO_FRONT

如果在传递给Context.startActivity一个Intent设置(),这个标志将会在历史堆栈的前面被启动的活动带到它的前面(如果它已经在运行)。

+0

我所做的是将清单中的启动模式设置为singleInstance –

+0

我想这是一种更简单的方法,除非实际上有一个时间需要重新加载Web视图,而不是使用历史。只取决于场景。 – Jakar

0

我在Android清单到singleInstance改变起跑模式,并且似乎已经完成了招