求教个广播的问题 确定下动态注册receiver是否成功了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED) 这个怎么确定啊。。你是使用手工注册方法,可以先判断是否已经增加ACTION过滤,查看我给你的代码 这个怎么确定啊。。你是使用手工注册方法,可以先判断是否已经增加ACTION过滤,查看我给你的代码我试了你给我的代码,还是没出来啊。。 androidMANIfest.xml代码放出来看看 额,这个要加权限的么?首先要在这里注册,然后需要加权限的还要加权限不过你的是动态注册,就不需要在这里注册是啊,我不需要manifest的注册啊,我看这个好像也不需要加什么权限吧,不知道哪里出问题了。。 我知道,我最近写了很多广播。我一般会这么写 private InstallReceiver receiver; private IntentFilter filter; onCreate(){ receiver = new InstallReceiver(); this.registerReceiver(receiver,filter) } class InstallReceiver extends BroadcastReceiver{ public InstallReceiver(){ filter = new IntentFilter(); filter.addAction(Intent.ACTION_PACKAGE_ADDED); } @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub if(intent.getAction().equals(Intent.ACTION_PACKAGE_ADDED)){ String packName = intent.getDataString().substring(8); System.out.println(packName); } } } ondestory(){ this.unregistReceiver(receiver); }你这里filter没有加action 额,还是一样,这个问题其实楼上已经让我加过了,还是一样。。这个通知意思是应用装完后会打出packName咯?可是就是没出来啊、、 我没仔细看你的代码,发觉你还没解决,你少了个步骤,就是你这里IntentFilter filter = new IntentFilter();registerReceiver(receiver, filter);应该这么写:IntentFilter filter = new IntentFilter();//把这个Action加进去filter.addAction(Intent.ACTION_PACKAGE_ADDED);registerReceiver(receiver, filter); 楼上的都说要加这个:filter.addAction(Intent.ACTION_PACKAGE_ADDED);差不多,你看看sdk的demo关于广播的这一块,对比一下自己的 额,还是一样,这个问题其实楼上已经让我加过了,还是一样。。这个通知意思是应用装完后会打出packName咯?可是就是没出来啊、、你看log,一般用log.i(TAG,name);看吧,如果用System.out.println(name);要在logcat中添加filter为,name:System.out TAG:System.out在这里看打印结果,控制台看不到,不知道会不会是这个问题。或者打印下别的数据看看广播有没有收到,或者数据出问题了,那边没发广播。 额,还是一样,这个问题其实楼上已经让我加过了,还是一样。。这个通知意思是应用装完后会打出packName咯?可是就是没出来啊、、你看log,一般用log.i(TAG,name);看吧,如果用System.out.println(name);要在logcat中添加filter为,name:System.out TAG:System.out在这里看打印结果,控制台看不到,不知道会不会是这个问题。或者打印下别的数据看看广播有没有收到,或者数据出问题了,那边没发广播。额,我在manifest里注册了,就能成功打出来,这代码里注册就不行应该不是你说的这个原因吧。。感觉应该是注册错了,又不知道错在哪。。 要接受这个系统广播,不仅要加权限,动态注册时加action,还要加setData();在配置文件的这个属性 android:scheme="package" 你说的好像有点道理,动态注册要把android:scheme="package"加到哪里去啊? 加上filter.addDataScheme("package");后解决啦,谢谢各位啊! 置顶问题??? Android 怎么能取出sdcard下的含有图片的文件夹 安卓开发 短信提示 sipdroid发送rtp包和接收rtp包模块如何发送接收数据的。 请问大家关于listview的问题 谢谢大家 android是什么 求视频播放器全屏以及锁屏功能实现效果 从VC++过来的人,我得怎么入手安卓 android vga播放完开机动画就黑屏了(帮顶也给分) android studio更新问题 Http连接出错 android opengl 问题
你是使用手工注册方法,可以先判断是否已经增加ACTION过滤,查看我给你的代码
你是使用手工注册方法,可以先判断是否已经增加ACTION过滤,查看我给你的代码
我试了你给我的代码,还是没出来啊。。
首先要在这里注册,然后需要加权限的还要加权限
不过你的是动态注册,就不需要在这里注册
是啊,我不需要manifest的注册啊,我看这个好像也不需要加什么权限吧,不知道哪里出问题了。。
我一般会这么写
private InstallReceiver receiver;
private IntentFilter filter; onCreate(){
receiver = new InstallReceiver();
this.registerReceiver(receiver,filter)
} class InstallReceiver extends BroadcastReceiver{
public InstallReceiver(){
filter = new IntentFilter();
filter.addAction(Intent.ACTION_PACKAGE_ADDED);
} @Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if(intent.getAction().equals(Intent.ACTION_PACKAGE_ADDED)){
String packName = intent.getDataString().substring(8); System.out.println(packName); }
}
} ondestory(){
this.unregistReceiver(receiver);
}你这里filter没有加action
这个通知意思是应用装完后会打出packName咯?可是就是没出来啊、、
IntentFilter filter = new IntentFilter();
registerReceiver(receiver, filter);
应该这么写:
IntentFilter filter = new IntentFilter();
//把这个Action加进去
filter.addAction(Intent.ACTION_PACKAGE_ADDED);
registerReceiver(receiver, filter);
这个通知意思是应用装完后会打出packName咯?可是就是没出来啊、、你看log,一般用log.i(TAG,name);看吧,如果用System.out.println(name);要在logcat中添加filter为,name:System.out TAG:System.out在这里看打印结果,控制台看不到,不知道会不会是这个问题。或者打印下别的数据看看广播有没有收到,或者数据出问题了,那边没发广播。
这个通知意思是应用装完后会打出packName咯?可是就是没出来啊、、你看log,一般用log.i(TAG,name);看吧,如果用System.out.println(name);要在logcat中添加filter为,name:System.out TAG:System.out在这里看打印结果,控制台看不到,不知道会不会是这个问题。或者打印下别的数据看看广播有没有收到,或者数据出问题了,那边没发广播。
额,我在manifest里注册了,就能成功打出来,这代码里注册就不行应该不是你说的这个原因吧。。感觉应该是注册错了,又不知道错在哪。。