发出通知很慢?

时间:2013-02-09 12:50:03

标签: java android notifications

我正在为Android创建一个应用程序,它没有在市场上列出,所以我创建了自己的更新程序。

Asynctask在后台运行检查新版本, 当有新版本时,它会创建一个通知

当通知在状态栏中时,打开状态栏的速度很慢(有时点击通知无效?)

这是我的代码:

public static void makeNotification(Class<?> newclass, CharSequence msg, CharSequence from, CharSequence message, int icon, Context c) {
    PendingIntent newintent = PendingIntent.getActivity(c, 0, new Intent(c, newclass), 0);
    NotificationManager nm = (NotificationManager) c.getSystemService(NOTIFICATION_SERVICE);
    Notification notif = new Notification( icon, msg, System.currentTimeMillis());  
    notif.setLatestEventInfo(c, from, message, newintent);

    nm.notify(0, notif);
}

这是在主要活动中,并从asynctask调用。

if (Integer.parseInt(xmlroosters.getVersionCode()) > currentversion){
                new Main().makensNotification(Update.class, "The app need an update.", "Update", "Click here to update the app.", R.drawable.app);
            }

有人能告诉我为什么这么慢吗? (有时我甚至无法打开状态栏) 为什么有时点击它甚至不可能?

1 个答案:

答案 0 :(得分:1)

我怀疑你是在循环中一遍又一遍地打电话。您正在消耗所有手机的可用CPU周期,以检查更新;)

考虑检查时间表......

new CountDownTimer(1000, 1000) {

     public void onTick(long millisUntilFinished) {
         mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
     }

     public void onFinish() {
         mTextField.setText("done!");
     }
  }.start();