我正在使用AsyncTask
. 我希望进度对话框显示为通知栏(就像您从 AndroidMarket 下载应用程序时一样)。我正在执行以下操作:
编辑
@Override
protected void onProgressUpdate(Integer... progress) {
super.onProgressUpdate(progress);
// show a notification bar.
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(android.R.drawable.btn_star, "test",System.currentTimeMillis());
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.flags |= Notification.FLAG_NO_CLEAR;
Intent notificationIntent = new Intent(AsynctaskActivity.this, AsynctaskActivity.class);
notificationIntent.addFlags(Notification.FLAG_ONGOING_EVENT);
PendingIntent contentIntent = PendingIntent.getActivity(AsynctaskActivity.this, 0, notificationIntent, 0);
notification.setLatestEventInfo(AsynctaskActivity.this, "test","test", contentIntent);
notification.number += 1;
notification.contentView.setProgressBar(progress[0], 100, 42, false);
notificationManager.notify(1, notification);}
但我收到错误:
07-13 10:37:16.039: E/AndroidRuntime(27190): FATAL EXCEPTION: main
07-13 10:37:16.039: E/AndroidRuntime(27190): android.app.RemoteServiceException: Bad notification posted from package s.s: Couldn't expand RemoteViews for: StatusBarNotification(package=s.s id=1 tag=null notification=Notification(vibrate=null,sound=null,defaults=0x0,flags=0x30))
07-13 10:37:16.039: E/AndroidRuntime(27190): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1056)
07-13 10:37:16.039: E/AndroidRuntime(27190): at android.os.Handler.dispatchMessage(Handler.java:99)
07-13 10:37:16.039: E/AndroidRuntime(27190): at android.os.Looper.loop(Looper.java:130)
07-13 10:37:16.039: E/AndroidRuntime(27190): at android.app.ActivityThread.main(ActivityThread.java:3701)
07-13 10:37:16.039: E/AndroidRuntime(27190): at java.lang.reflect.Method.invokeNative(Native Method)
07-13 10:37:16.039: E/AndroidRuntime(27190): at java.lang.reflect.Method.invoke(Method.java:507)
07-13 10:37:16.039: E/AndroidRuntime(27190): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
07-13 10:37:16.039: E/AndroidRuntime(27190): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:624)
07-13 10:37:16.039: E/AndroidRuntime(27190): at dalvik.system.NativeStart.main(Native Method)
我做错了什么?