Android 一加 6(Android 派版) 启动完成 广播接收器不工作

2024-07-01

Android 一加 6(Android 派版) 启动完成 广播接收器不工作

 <receiver
            android:name=".service.ConnectionReceiver"
            android:enabled="true" android:exported="true"
            >
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
                <action android:name="android.net.conn.ACTION_BOOT_COMPLETED" />
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.QUICKBOOT_POWERON"/>
            </intent-filter>
        </receiver>

下面是我的接收器类:

public class ConnectionReceiver extends BroadcastReceiver {
 @Override
 public void onReceive(Context context, Intent intent) {
  Log.d("API123", "" + intent.getAction());
  Toast.makeText(context, "isatRunningonbootanyproblem", Toast.LENGTH_SHORT).show();
  context.startService(newIntent(context, MyBackgroundService.class));
 }
}

启动完成后我需要启动我的服务。请建议我应该做什么

下面是我收到的错误日志

 018-11-06 05:25:34.994 885-3000/? W/BroadcastQueue: Background execution not allowed: receiving Intent { act=oneplus.intent.action.ANY_DATA_STATE flg=0x10 } to test.myapplication/.MyReceiver
    2018-11-06 05:25:38.241 885-3000/? W/BroadcastQueue: Permission Denial: receiving Intent { act=android.net.conn.DATA_ACTIVITY_CHANGE flg=0x10 (has extras) } to test.myapplication/.MyReceiver requires android.permission.RECEIVE_DATA_ACTIVITY_CHANGE due to sender android (uid 1000)

我在 OnePlus 6 中遇到了同样的问题。我打算进行后台服务,它应该在重新启动设备后自动启动。 大多数设备都会收到 BOOT_COMPLETED 意图,但在 OnePlus 6 中不起作用。 我尝试搜索并找到了解决方案。原因是我的应用程序针对电池优化进行了优化。 我将状态更改为未优化,之后就运行良好了。

在AndroidManifest.xml上添加权限

<uses-permission  android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>

白名单/优化启用您的应用

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        Intent intent = new Intent();
        String packageName = getPackageName();
        PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
        if (!pm.isIgnoringBatteryOptimizations(packageName)) {
            intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
            intent.setData(Uri.parse("package:" + packageName));
            startActivityForResult(intent, 1000);
        }
    }

我希望这会有所帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 一加 6(Android 派版) 启动完成 广播接收器不工作 的相关文章

  • 在android中绘制单点触摸运动路径

    我正在尝试制作一个绘图应用程序 我想要绘制单点触摸运动路径在 android 中 就像 Swype 键盘的方式一样 因此我想存储每个像素的 x y 坐标将运动路径转化为数据结构 我如何使用 MotionEvent 指针来执行此操作 您可能不
  • 使用device_filter.xml资源文件过滤USB枚举结果

    按照中的说明进行操作Android USB 主机文档 http developer android com guide topics connectivity usb host html discovering d 我设法通过USB DEV
  • react-native:“adb”未被识别为内部或外部命令、可操作程序或批处理文件

    我是反应原生 Android 应用程序开发的新手 请帮我解决这个问题 我无法运行我的第一个应用程序 收到错误如下adb is not recognized as an internal or external command operabl
  • 如果没有发生触摸事件,Android SurfaceView 会变慢

    我正在制作一款游戏 除了游戏循环之外一切都很顺利 我正在使用 SurfaceView 并绘制 2D Sprites 位图 目前游戏是一艘穿过小行星带的飞船 飞船停留在屏幕中央 手机向任一方向倾斜以移动小行星 小行星改变位置而不是玩家 当旧的
  • 使用 jsoup 收集倒计时器并为 android 设置计时器

    我想解析 eBay 上的倒计时器 span class 5g 20h span 如何用 jsoup 解析它以在 android studio 上创建倒计时器 我可以像平常一样解析它吗element 像下面这样 更新 getMsFromStr
  • Progruard 和 R8 已弃用 - Android Studio 3.6

    将 Android Studio 升级到 3 6 后 我收到了有关 Proguard 和 R8 的弃用警告 这是否意味着我们不应该在项目中使用混淆 或者在发布模式下构建时我们应该考虑另一个等效选项 选项 android enableR8 已
  • Android:在服务器端验证应用程序的完整性

    我正在编写一个通过 HTTPS 与服务器应用程序进行通信的 Android 应用程序 在服务器端 我必须绝对确定 Android 应用程序的完整性 这意味着服务器应用程序需要确保它与我开发的 Android 应用程序通信 而不是与重写的应用
  • 如何在知道其十进制值的情况下找出菜单中项目的字符串 ID?

    我正在使用 android support v7 appcompat 在一个活动中 我想在操作栏中显示后退按钮 我愿意 public class News extends ActionBarActivity Override protect
  • 使用 Kotlin 在 Android 中渲染 PDF

    我已经在使用 Java 的 PDF 上看到了该线程 但找不到任何有关如何使用 Kotlin 执行此操作的信息 有什么方法或者我需要使用Java吗 在 Android 上使用 Java 渲染 PDF 文件 https stackoverflo
  • 无法解析“:app@debug/compileClasspath”的依赖关系:无法解析

    新安装的安卓工作室3 1 3在创建新项目并第一次编译时出现奇怪的依赖关系错误 一个相似的question https stackoverflow com questions 46949622 android studio 3 0 unabl
  • java.io.IOException:服务发现失败

    我正在开发一个 Android 应用程序 在两部配对的智能手机之间使用蓝牙连接 蓝牙逻辑基于著名的BluetoothChat SDK示例 管理服务器线程的 服务 类accept 一个客户端线程connect 和一个用于在套接字上读 写的线程
  • 关于ListView中ViewHolder模式实现优化

    因此 众所周知的 ViewHolder 模式通常看起来像 ListAdapter Override public View getView final int position View convertView final ViewGrou
  • 从处理程序取消 AsyncTask 及其进度条

    我想取消几秒钟后向服务器发送数据的 AsyncTask 我已经设置了 AsyncTask 和处 理程序 但进度对话框仍然旋转 我怎样才能尽快干净地停止AsyncTask 这就是我到目前为止所拥有的 提前致谢 private class As
  • 从 android 将用户注册到 QuickBlox 用户

    我正在尝试在我的 Android 应用程序中使用 QuickBlox 我阅读了指南并导入了示例 一切正常 我更改了一些用户可以使用 EditText 作为用户名和另一个密码登录的内容 并且效果很好 但现在我想添加一个注册按钮 使用户能够注册
  • INSTALL_FAILED_MISSING_SHARED_LIBRARY 没有 google api

    好吧 我一直在浏览 但我最终得到的只是谷歌的 api 我没有在我的应用程序中使用任何来自谷歌的API 我正在编写一个使用 sqlite 浏览器的应用程序 但尚未使用任何其他参考 任何想法 我之前没有开始过这个应用程序 所以现在这是一个非常大
  • 是否可以从 Linux CLI 编译适用于 Android 的 Xamarin?

    我们有一个 Android 应用程序 它根据每个客户端使用自定义信息进行编译 目前 我们的应用程序是使用 Ionic 构建的 因此当用户要求下载 APK 时 我们会自动相应地修改其源代码 编译应用程序并提供从客户端的下载 所有这一切都是在
  • Android Studio:无法加载 dx.jar

    当我在 Android Studio 中运行我的模块时 出现以下错误 错误 Android Dex GradleDevBuild 无法加载 dx jar 我在网上无休无止地寻找解决方案 但一切都与 eclipse 有关 而与 Android
  • 无法解析目标“android-16”

    我使用的是安卓4 2 2 安装最新的SDK后 当我打开eclipse时 我可以看到所有在构建过程中出现问题的项目 以下是我得到的错误 请让我知道如何解决这个问题 Unable to resolve target android 16 我也遇
  • 如何使用带有对话框的数字选择器

    我想使用数字选择器来获取用户的折扣百分比 一旦用户输入销售价格 我希望出现一个对话框 询问折扣百分比 我找不到将数字选择器集成到对话框中的方法 我做了一个 NumberPicker 的小演示 这可能并不完美 但您可以使用和修改它 使用自定义
  • 在这种情况下是否违反了 Google Play 开发者政策? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想通过 Android 应用程序赚一些钱 但我面临一个大问题 Google 在 Google Play 上不支持我所在的国家 地区 适用

随机推荐