预期效果:
Home屏的AppWidget上有一个按钮,点击这个按钮进行某个联网操作,联网的时候需要用ProgressDialog指示进度。
遇到的问题:
因为AppWidgetProvider里的onReceive和onUpdate接收到的Context参数都是ReceiverRestrictedContext,所以用它来实例化ProgressDialog的时候会引发异常(Window token is null)。有可行的解决办法吗?

解决方案 »

  1.   

    在appwidget上显示个Progressbar不行么,非得弹出来么?
      

  2.   

    ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
    ComponentName cn = am.getRunningTasks(1).get(0).topActivity;(注意加入权限)
      cn.getClassName()得到当前activity 
      

  3.   

    可是AppWidgetProvider不是Activity,点击AppWidget上的按钮时并没有Activity在前台运行。
      

  4.   

    progressDialog并不一定要有activity在前台运行的不过你需要自己有一个service或者发送一个intent去调起dialog