当前位置:编程学习 > wap >>

service内部类发广播无效




代码如下:
 class PackageInstallObserver extends IPackageInstallObserver.Stub
   {
       public void packageInstalled(String packageName, int returnCode)
       {
           Log.i(TAG, "PackageInstallObserver:return code =========> " + returnCode);
           Log.i(TAG, "PackageInstallObserver:return packageName =========> " + packageName);
           if(mSharedPreferences.getString("InstallingPackageName", "").equals(packageName)){
            editor.putString("InstallingPackageName", "");
               editor.commit();
            Log.i(TAG, "clean the Prefer0ences!!!");
           }
           Intent installBroadcast = new Intent();
           installBroadcast.setAction("com.hw.apkinstaller.INSTALL_COMPLETE_BROCAST");
           installBroadcast.putExtra("PackageName", packageName);
           installBroadcast.putExtra("returnCode", returnCode);
           sendBroadcast(installBroadcast);
           Log.i(TAG, "22222222222222222222222222222222222222222222222222222222" + returnCode);
       }
   }


日志可以打到clean the Prefer0ences!!!这句

但是打不到22222222222这里。
把sendBroadcast(installBroadcast);注释掉就可以。

查了网上一些说法,在service里面重写了sendBroadcast方法。

@Override
public void sendBroadcast(Intent intent) {
// TODO Auto-generated method stub
getServiceContext().sendBroadcast(intent);
}


这样还是不行    


求大神指点!! service   广播   --------------------编程问答-------------------- com.hw.apkinstaller.INSTALL_COMPLETE_BROCAST
这个action对应的广播注册了? --------------------编程问答--------------------

引用 1 楼 birdsaction 的回复:
com.hw.apkinstaller.INSTALL_COMPLETE_BROCAST
这个action对应的广播注册了?

注册了 --------------------编程问答-------------------- 这种情况下,可以在Handler里来发这个广播,这样就可以了啊!
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,