Questions tagged «broadcastreceiver»

BroadcastReceiver是一个Android组件,可响应系统范围的广播公告。

11
如何使用LocalBroadcastManager?
如何LocalBroadcastManager按照google文档和服务广播文档中的说明使用/定位? 我试图用Google搜索它,但是没有可用的代码开头吗? 这些文档说,如果我想在应用程序的过程中进行内部广播,则应该使用它,但我不知道在哪里寻找它。 有帮助/意见吗? 更新:我知道如何使用广播,但是不知道如何LocalBroadcastManager在我的项目中使用广播。

16
尝试在Android上启动时启动服务
当设备在android上启动时,我一直在尝试启动服务,但无法正常工作。我已经看了许多在线链接,但是这些代码都不起作用。我忘记了什么吗? AndroidManifest.xml <receiver android:name=".StartServiceAtBootReceiver" android:enabled="true" android:exported="false" android:label="StartServiceAtBootReceiver" > <intent-filter> <action android:name="android.intent.action._BOOT_COMPLETED" /> </intent-filter> </receiver> <service android:name="com.test.RunService" android:enabled="true" /> 广播接收器 public void onReceive(Context context, Intent intent) { if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) { Intent serviceLauncher = new Intent(context, RunService.class); context.startService(serviceLauncher); Log.v("TEST", "Service loaded at start"); } }

6
在服务中获取上下文
有没有任何可靠的方式来获得Context从Service? 我想为其注册一个广播接收器,ACTION_PHONE_STATE_CHANGED但是我不需要我的应用程序始终获取此信息,因此我不必将其放在中Manifest。 但是,当我需要此信息时,我无法让广播接收器被GC杀死,因此我要将广播接收器注册到中Service。 因此,我需要Context致电registerReceiver()。当我不再需要时,ACTION_PHONE_STATE_CHANGED我将其注销。 有小费吗?



21
广播接收器,用于在Android应用中检查互联网连接
我正在开发一个用于检查互联网连接的Android广播接收器。 问题是我的广播接收器被调用了两次。我希望只有在网络可用时才能调用它。如果不可用,我不想收到通知。 这是广播接收器 public class NetworkChangeReceiver extends BroadcastReceiver { @Override public void onReceive(final Context context, final Intent intent) { final ConnectivityManager connMgr = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); final android.net.NetworkInfo wifi = connMgr .getNetworkInfo(ConnectivityManager.TYPE_WIFI); final android.net.NetworkInfo mobile = connMgr .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if (wifi.isAvailable() || mobile.isAvailable()) { // Do something Log.d("Network Available ", "Flag …

10
以编程方式注册广播接收器
我想知道以编程方式注册广播接收器的最佳实践/方式是什么。我想根据用户选择注册特定的接收器。 由于注册是通过清单文件完成的,因此我想知道是否存在通过代码实现此目标的正确方法。

6
在Android中发送和接收SMS和MMS(Kit Kat之前的Android 4.4)
我已经弄清楚了如何发送和接收短信。要发送SMS消息,我必须调用类的sendTextMessage()和sendMultipartTextMessage()方法SmsManager。要接收SMS消息,我必须在AndroidMainfest.xml文件中注册一个接收器。然后我不得不重写的onReceive()方法BroadcastReceiver。我在下面提供了示例。 MainActivity.java public class MainActivity extends Activity { private static String SENT = "SMS_SENT"; private static String DELIVERED = "SMS_DELIVERED"; private static int MAX_SMS_MESSAGE_LENGTH = 160; // ---sends an SMS message to another device--- public static void sendSMS(String phoneNumber, String message) { PendingIntent piSent = PendingIntent.getBroadcast(mContext, 0, new Intent(SENT), 0); …

5
BroadcastReceiver.onReceive是否始终在UI线程中运行?
在我的应用中,我创建了一个自定义BroadcastReceiver,然后通过手动将其注册到我的上下文中Context.registerReceiver。我也有一个AsyncTask通过调度notifier-Intents的方法Context.sendBroadcast。这些意图是从非UI工作线程发送的,但似乎BroadcastReceiver.onReceive(接收到所述意图)总是在UI线程中运行(这对我有好处)。这是可以保证的还是我不应该依赖于此?

2
具有多个过滤器或多个BroadcastReceiver的BroadcastReceiver?
我有一个Android活动,需要捕捉两个不同的广播。我当前的方法是BroadcastReceiver在活动中包含一个广播,并同时捕获两个广播: public class MyActivity extends Activity { private MyActivity.BroadcastListener mBroadcastListener; private boolean mIsActivityPaused = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mylayout); // Create the broadcast listener and register the filters mIsActivityPaused = false; mBroadcastListener = new BroadcastListener(); IntentFilter filter = new IntentFilter(); filter.addAction(Params.INTENT_REFRESH); filter.addAction(Params.INTENT_UPDATE); registerReceiver(mBroadcastListener, filter); } @Override …

10
接收器未注册异常错误?
在我的开发人员控制台中,人们不断报告错误,我无法在拥有的任何电话上重现该错误。一个人留下一条消息说,当他们尝试打开我的电池服务的设置屏幕时得到了它。从错误中可以看到,它表明接收器未注册。 java.lang.RuntimeException: Unable to stop service .BatteryService@4616d688: java.lang.IllegalArgumentException: Receiver not registered: com.app.notifyme.BatteryService$BatteryNotifyReceiver@4616d9d0 at android.app.ActivityThread.handleStopService(ActivityThread.java:3164) at android.app.ActivityThread.access$3900(ActivityThread.java:129) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2173) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:143) at android.app.ActivityThread.main(ActivityThread.java:4701) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.IllegalArgumentException: Receiver not registered:com..BatteryService$BatteryNotifyReceiver@4616d9d0 at android.app.ActivityThread$PackageInfo.forgetReceiverDispatcher(ActivityThread.java:805) at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:859) at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:331) at com.app.notifyme.BatteryService.onDestroy(BatteryService.java:128) …

7
Android-启动时启动服务
从我在Stack Exchange和其他地方看到的所有内容中,我已经正确设置了所有内容,可以在启动Android OS时启动IntentService。不幸的是,它没有在启动时启动,并且我没有收到任何错误。也许专家可以帮忙... 表现: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.phx.batterylogger" android:versionCode="1" android:versionName="1.0" android:installLocation="internalOnly"> <uses-sdk android:minSdkVersion="8" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.BATTERY_STATS" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <service android:name=".BatteryLogger"/> <receiver android:name=".StartupIntentReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> </application> </manifest> 用于启动的BroadcastReceiver: package com.phx.batterylogger; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public …

7
Android,检测何时启动其他应用
我正在尝试开发一个应用程序,该应用程序可以防止用户在没有密码的情况下进入指定的应用程序。情况是... 用户点击“电子邮件”应用程序(例如) 我的应用检测到应用启动 我的应用程序确认它是“电子邮件”应用程序 我的应用在顶部打开一个视图,要求输入密码 用户输入密码,如果正确,我的应用程序消失,将“电子邮件”应用程序放在顶部 我可以做其余的事情,只是第2部分让我感到困惑,并且经过很多天阅读了《广播意图》等并尝试在我的试用项目中收听“ android.intent.action.MAIN”等之后,似乎可以检测到我的应用程序何时启动。 有人可以帮忙吗?我是否正在寻找正确的方法,寻找新的应用程序来广播启动意图,还是应该在系统日志中查找新的意图,还是应该使用本机代码来做一些事情? 任何指点都会有所帮助,即使您无法完全回答,我也可以做更多研究。非常感谢。伊恩

2
服务中的广播接收器
我正在尝试BroadcastReceiver在内启动Service。我正在尝试做的是后台运行service,该后台会收集传入的短信并记录传入的电话。我想最好的解决方法是让service跑步机上装有可以编目的广播接收机。 我该怎么做?我已经启动并运行了我的服务。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.