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对应的广播注册了? --------------------编程问答--------------------
注册了 --------------------编程问答-------------------- 这种情况下,可以在Handler里来发这个广播,这样就可以了啊!
补充:移动开发 , Android