- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
场景如下,我有一个 LoginActivity
,它使用 WifiManager
来获取 IP 地址,如下所示:
WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
String ipAddress = wifiManager.getConnectionInfo().getIpAddress();
我不注册任何接收器来接收任何 WiFi 更新。我使用 WifiManager
获取 IP 地址,仅此而已。
现在当我完成登录时,我在 LoginActivity
中调用 finish()
并启动 SplashActivity
然后我在控制台看到以下登录:
LoginActivity has leaked IntentReceiver android.net.wifi.WifiManager that was originally registered here. Are you missing a call to unregisterReceiver()?
而且我只在棉花糖上得到了这个日志。这不会发生在 <6.0 设备上。同样在 marshmallow 上,该应用程序从未崩溃,但我每次都会看到此日志。
如果有人可以解释这种行为?
最佳答案
我有同样的错误,但只是在出于某种原因在调试中运行时。
添加:getApplicationContext()
为我解决了这个问题。 (虽然我不完全确定为什么?)
WifiManager wifi_manager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
在做了更多研究后,当您从一项 Activity 过渡到另一项 Activity 时,上下文似乎不再存在。
getApplicationContext() - Returns the context for all activities running in application.
getContext() - Returns the context view only current running activity.
因此,最好将 getApplicationContext() 用于任何应在您的应用程序生命周期内存活的内容。
关于Android 棉花糖 WifiManager 泄漏 IntentReceiver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36857436/
我的 onCreate() 中有以下代码: registerReceiver(onComplete, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_
我在特定 Activity 中通过单击按钮打开发送菜单: Intent i = new Intent(Intent.ACTION_SEND); i.setType("text/plain"); i.p
我使用 addProximityAlert: Intent intent = new Intent(getString(R.string.intent_message_location_fetched
在我的 Android 应用程序中,我有一个 Activity MainActivity,它有一个 Fragment MainFragment,它启动一个 IntentService,然后转换到 Ac
E/ActivityThread( 655): Activity com.android.internal.app.ChooserActivity has leaked IntentReceiver
我正在编写非常简单的应用程序。它工作正常,但是当我按下后退键时它崩溃了(Activity 泄露了最初在此处注册的 IntentReceiver)。这个应用程序应该在后台运行。如何正确执行? impor
我正在尝试一起发送短信和邮件。发送邮件没有问题,但是当我发送短信时收到此异常: End has leaked IntentReceiver Are you missing a call to unre
程序员。我正在做一个 Proximity Alert App,想知道如何从 ProximityIntentReceiver extends BroadcastReceiver 发送 SMS,即在进入特
在我的 Widget 中,我使用: Intent intent = new Intent(context, ClassForWidget.class); PendingIntent pendingIn
场景如下,我有一个 LoginActivity,它使用 WifiManager 来获取 IP 地址,如下所示: WifiManager wifiManager = (WifiManager)getSy
在 list 中,我只有 Activity ,接收器上没有任何服务。当我完成 Activity 时,我在 logcat 中看到了这个: E/ActivityThread: Activity com.e
mapView = (MapView) findViewById(R.id.mapview); mapView.onCreate(savedInstanceState); mapVie
我正在构建一个需要 IntentReceiver 的小应用。 其实我是Android开发新手,iOS开发后正在做switch。我有以下代码: package com.TheIntent; import
我正在制作一个安卓应用。我正在制作一项服务,该服务在用户选中 checkbox 时一直在后台运行,当用户 unckeck 时它应该停止。所以当我选中该框并且它还显示“服务启动” toast 时它确实有
我希望能在这里找到一些帮助,因为我不熟悉 Android 中的 BroadcastReceivers。这段代码打开一个 WebView,将您重定向到登录页面,并在检测到 URL 更改后接收登录 tok
在将此帖子标记为已关闭或重复之前,我想说的是,我已经完成了类似帖子中提到的所有事情,但都没有奏效。 我有 2 个接收器,我从中获取数据。所以我想在 Activity 开始时注册接收器,并在 Activ
我的 Android 应用程序中有一个 MapActivity,它使用 osmdroid(Open Street Map for Android 库)显示 map 。 当我在此 MapActivity
我正在使用前台 Android Service 通过 REST API 通过 Retrofit 请求资源,作为每 60 秒的计时器。此类服务也在与应用程序不同的进程中运行,这是必要的,这样 Andro
我希望我的应用程序在用户触摸 GLSurfaceView 时在 GLSurfaceView 上显示 ZoomButtonsController。我的 Activity 构造函数如下所示: _zoomB
IntentReceiver 正在泄漏 由于 onDetachedFromWindow 在某些情况下未被调用。 @Override protected void onDetachedFromWind
我是一名优秀的程序员,十分优秀!