context.sendOrderedbroadcast(intent,receiverPermission)或context.sendbroadcast(intent,receiverPermission);
在我的申请中
但我不知道在函数中传递receiverPermission参数以及如何在清单文件中设置
请任何身体帮助我
我想告诉你我的源代码
public class LocationReceiver extends broadcastReceiver { public static final String broADCAST_ACTION = "LOCATION_CHANGE"; @OverrIDe public voID onReceive(Context context,Intent intent) { intent.setAction(broADCAST_ACTION); Bundle b = intent.getExtras(); Location loc = (Location)b.get(androID.location.LocationManager.KEY_LOCATION_CHANGED); Logger.deBUG("Loc:"+loc); if(loc != null){ dobroadCast(context,intent,loc); } } public voID dobroadCast(final Context context,final Intent i1,final Location loc){ Handler h = new Handler(); h.post(new Runnable() { @OverrIDe public voID run() { // Todo auto-generated method stub Logger.deBUG("LocationReceiver->sendLocation update broadcast"); i1.putExtra("Latitude",loc.getLatitude()); i1.putExtra("Longitude",loc.getLongitude()); context.sendbroadcast(i1,null); } }); }}
以及我写的活动
@OverrIDe protected voID onResume() { registerReceiver(broadcastReceiver,new IntentFilter(LocationReceiver.broADCAST_ACTION));} private broadcastReceiver broadcastReceiver = new broadcastReceiver() { @OverrIDe public voID onReceive(Context context,Intent intent) { UpdateUI(intent); } }; private voID UpdateUI(Intent i){ Double Latitude = i.getDoubleExtra("Latitude",0); Double Longitude = i.getDoubleExtra("Longitude",0); showMap(Latitude,Longitude); }
现在我的问题是当它发送广播它无限执行dobroadcast功能()时,请帮我出来.
解决方法 Please refer SDK documentreceiverPermission是(可选)String命名接收者必须持有的权限才能接收您的广播.如果为null,则不需要任何权限.
AndroidManifest.xml use.这是在String上. String使用sendOrderedbroadcast的receiverPermission.值.
总结以上是内存溢出为你收集整理的android – 如何使用sendOrderedBroadcast函数全部内容,希望文章能够帮你解决android – 如何使用sendOrderedBroadcast函数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)