永发信息网

android接受广播时怎么确定是哪个应用发送的广播

答案:2  悬赏:0  手机版
解决时间 2021-11-28 08:28
android接受广播时怎么确定是哪个应用发送的广播
最佳答案
看接收广播的接口:
public abstract void onReceive(Context context, Intent intent);

这里有个参数context,就是发送广播的应用程序的上下文,而一般应用程序用类似如下方法发广播:
Context context = MyActivity.this;
context.sendBroadcast(intent);

接收到的广播中的context就是这里发送时的context,你在onReceive打印一下context就能够清楚知道是哪个应用程序发的广播了:
public void onReceive(Context context, Intent intent) {
Log.w(TAG, "context="+context);
//。。。。。。

}追问那要不是应用发送的广播是系统发送的怎么办?追答系统发送也需要一个context啊,你试着打印一下就知道效果了,所以系统,其实不也看成一个app(主app)?
全部回答
在Intent内可以设置一个字段作为应用的标示符,广播通过解析这个Intent内的标示符来匹配是哪个应用发送的。简单来说,你有3个应用能发送broadcast,用标示符0,1,2来分别标示,receiver接收到这个intent以后,解析标示符,然后就可以知道是哪个应用发送的broadcast了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
1l的瓶子要多重的瓶胚
连云港市赣榆县距离杭州临安多少公里
解卦《易经》第五十八卦 兑 兑为泽 兑上兑下
神盾局特工一共多少集
广西那有批茶台的
中国平安到底有多大
大龙当百铜币
到秦皇岛法国小镇怎么走
盐城儿童学游泳在哪,有下午和晚上学的
如何检查出肠粘连
GW250与黄龙300,对比,我身高180,体重300.
11KW电机用4X6平方毫米电缆行吗
阿巧美甲美睫馆怎么去啊,有知道地址的么
4399神曲的会员能干什么
loftcam锐化后怎么跟没锐华一样
推荐资讯
求大神鉴定 此羊脂玉 大概值多少钱 谢谢
李家岔镇我想知道这个在什么地方
测进口火线220v测出口火线为220V是什么原因
请以左边这幅虚拟游戏图片为参照内容,在右边
我想我个人在城市内想争取一块地,面积大概15
我曾经练习胸腔共鸣,然后出现了胸腔共鸣那种
谁的平方是780
汉字像什么什么
女人问男人对她是不是真心的男人选择沉默是什
电力操作电源系统型号GZDW-80/220/20
单项选择题导致企业资本及债务规模和构成发生
形容人缘广的词语
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?