jjzjj

onReceive

全部标签

android - onReceive 方法没有被调用

publicclassBroadcastTestextendsActivity{BroadcastReceiverreceiver;/**Calledwhentheactivityisfirstcreated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);try{receiver=newReceiver(this);registerReceiver(receiver,newIntentFilt

android - BroadcastReceiver onReceive() 线程安全吗?

BroadcastReceiver的onReceive()方法是线程安全的还是我需要自己实现同步?如果我有任何在onReceive()方法中使用的类级变量,并且onReceive()方法被快速调用多次,它会不会导致问题?publicclassMyBroadCastReceiverextendsBroadcastReceiver{booleanisFirstTrigger=true;@OverridepublicvoidonReceive(Contextcontext,Intentarg1){if(isFirstTrigger){//DosomethingtimeconsumingisF

android - BroadcastReceiver - onReceive 未被调用

我通过以下方式发送广播:Intentintent=newIntent("com.usmaan.myApp.DATA_RECEIVED");intent.putExtra("matchId",newRowId);LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent);这是包装AsyncTask的服务,它运行上面的广播:在我的Activity中,我在onResume中注册了一个Receiver:IntentFilterintentFilter=newIntentFilter("com.usmaan.myApp.DA

android - 从接收者自己的 onReceive() 方法中注销 'dynamic' BroadcastReceiver 是否可以?

也就是说,我有这个动态创建的BroadcastReceiver来收听一个广播,之后我希望它自行取消注册。我还没有找到任何以这种方式执行此操作的示例代码,但我也没有在android在线文档中找到任何禁止这样做的规则。但是我不能让它在Activity中停留那么久,而且它无论如何都在一个匿名类中,所以包含类甚至不知道变量名。也就是说,代码看起来像这样:myInfoReceiver=newBroadcastReceiver(){onReceive(Contextctx,Intentintt){//dosomeNotificationwhenIgetherenm.notify("Igothere

android - 广播接收器 onReceive() 从未调用过

我在ICS中遇到了这个问题,但在以前的版本中没有:我正在从App1发送广播并尝试在App2Activity中接收它。但是App2的Activity中从未调用过onReceive。虽然我已经正确指定了所有内容,但我无法理解调用该block的onReceive是什么。我先运行BroadcastReceive,然后运行​​BroadcastSend非常感谢任何能帮助我解决这个问题的帮助。App1发送ActivitypublicclassBroadcastSendextendsActivity{@OverridepublicvoidonCreate(BundlesavedInstanceSta

android - C2DMBroadcastReceiver 的 onReceive 未执行(用于注册)

我正在开发C2DM消息传递应用程序。为此,我使用C2DMBroadcastReceiver、C2DMBaseReceiver和C2DMMessaging类接收注册ID。我将在扩展C2DMBaseReceiver的包中使用C2DMReceiver。这是我的代码fragmentC2DMMessaging.javapackagecom.google.android.c2dm;importandroid.app.PendingIntent;importandroid.content.Context;importandroid.content.Intent;importandroid.conte

android - 基于接收广播 Intent 启动网络通信的正确方法是什么?

我正在开始使用Google的C2DM。此过程的一部分涉及在注册发生时接收BroadcastIntent。在Google'sofficialC2DMdocumentation,示例代码在BrodcastReceiver的onReceive()方法中显示了以下注释://SendtheregistrationIDtothe3rdpartysitethatissendingthemessages.//Thisshouldbedoneinaseparatethread.但是,我读过的所有内容,包括thedocumentationforBroadcastReceiver,表明从onReceive(

android - 小部件 onUpdate,onReceive

我在onUpdate()方法中初始化了一些数组,之后,使用Intent和按钮,我尝试调用onReceive()函数,该函数运行正常但无法访问在onUpdate()方法中设置的数组。这是为什么?这些数组是对象变量并被声明为公共(public)的。我错过了什么吗?packagenet.aerosoftware.widgettest;importjava.util.HashMap;importandroid.app.PendingIntent;importandroid.appwidget.AppWidgetManager;importandroid.appwidget.AppWidgetP

手机休眠时 Android AlarmManager 不工作

AlarmManager有问题。简而言之,我计划了一个alarmManager:Intentintent=newIntent(context,MyActivity.class);PendingIntentpendingIntent=PendingIntent.getActivity(context,0,intent,0);AlarmManageralarmManager=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);alarmManager.setExact(AlarmManager.ELAPSED_REAL

android - 关闭/打开飞行模式后,广播接收器在 onReceive() 中接收的时间太长

我创建了一个简单的广播接收器,它工作得非常好,除了如果我打开/关闭飞行模式,使用onReceive方法接收广播消息需要将近2分钟。另一件事是,如果我们启动应用程序,然后如果我更改飞行模式(开/关),这只会导致问题,然后接收消息的时间太长。如果在启动应用程序之前有模式更改,它不会影响在onReceive方法中接收消息的时间。源代码如下。AndroidManifest.xmlBroadcastReceiverActivity.javapublicclassBroadcastReceiverActivityextendsActivity{publicstaticStringqrCodeRec