0

我在打開我的應用程序的左側角落有註釋。它工作正常。問題在於,每當用戶按下注釋時,它會再次在內存中創建應用程序,但不會關閉舊應用程序。如何在批准時按pendingIntent時使用打開的活動

當然,我可以在第一次觸摸後隱藏註釋圖標,但我不想。

有什麼方法可以使用已經打開的應用程序嗎?

下面是創建這個nottification服務:

public class MyShippingService extends Service { 

NotificationManager nm; 
    String LOG_TAG; 
    int shortDate; 

    @Override 
    public void onCreate() { 
    super.onCreate(); 
    nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
    } 

    public int onStartCommand(Intent intent, int flags, int startId) { 
     shortDate=intent.getIntExtra("shortDate", 1); 
     sendNotif(); 
     return super.onStartCommand(intent, flags, startId); 
    } 

    void sendNotif() { 

    Intent intent1 = new Intent(this, Main.class); 
     intent1.setAction("hello"); 
    intent1.putExtra("notification", true); 

    PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent1, PendingIntent.FLAG_CANCEL_CURRENT); 


    Notification notify = new Notification.Builder(this) 
     .setContentIntent(pIntent) 
      .setContentText(getString(R.string.nottification)) 
     .setTicker(getString(R.string.nottification)) 
     .setSmallIcon(R.mipmap.ic_icon) 
     .setWhen(System.currentTimeMillis()) 
      .build(); 

    nm.cancel(shortDate); 
    nm.notify(shortDate, notify); 
    } 

    public IBinder onBind(Intent arg0) { 
    return null; 
    } 

}

回答

0

在清單中設置的主要活動的啓動模式singleTop。看看docs。當您再次啓動您的活動時,意向將在onNewIntent()方法

+0

上收到,謝謝,它的工作原理)singleTop當我點擊批註時打開相同的活動。但是當活動已經打開,不是從註釋,而是從桌面,然後點擊註釋,我得到兩個版本:一個來自注釋,一個來自桌面。在這種情況下有沒有辦法關閉舊版本? –

相關問題