如何在android中使用gcm intent使用Notification服务显示toast

时间:2015-02-24 07:00:40

标签: android

package com.lociiapp;

import android.app.Application;

public class LociiApplication extends Application{

    public static boolean isActivityVisible() {
        return activityVisible;
      }  

      public static void activityResumed() {
        activityVisible = true;
      }

      public static void activityPaused() {
        activityVisible = false;
      }

      private static boolean activityVisible;
      public static String FID = "";

}

这是我的Application类代码,那里有GCM意向服务:

public class GcmIntentService extends IntentService {


}

这里我想要当App打开然后应该没有Toast消息应该显示当应用程序关闭然后通知Toast应该可见请告诉我如何在活动是前景时隐藏通知并在应用程序关闭或暂停时显示通知。请帮助我如何实现这个android。

2 个答案:

答案 0 :(得分:2)

在应用程序类的onResume()方法中尝试使用以下代码。

public class CustomApplication extends Application 
{

    private static Context mContext;

    @Override
    public void onCreate() {
        super.onCreate();
        mContext = getApplicationContext();
    }

    public static void activityResumed() {
        // your code

        //call method to discard notification. 
        cancelNotification(mContext,0);
    } 

    public static void cancelNotification(Context context, int notifyId) {
        String ns = Context.NOTIFICATION_SERVICE;
        NotificationManager nMgr = (NotificationManager) context.getSystemService(ns);
        nMgr.cancel(notifyId);
    }
}

注意

您需要存储您在GCMIntent服务中显示的先前通知ID。无论是偏好还是档案。您需要在放弃通知时获取该通知ID。

答案 1 :(得分:0)

覆盖onResume()活动中的onPause()LociiApplication方法:

protected void onPause(){
    // show your notification here
    super.onPause();
}

@Override
protected void onResume(){
    super.onResume();
    // hide your notification here
}

@Override
protected void onDestroy(){
    // do something when activity is destroyed
    super.onDestroy();
}

详细了解Notification