小编Moh*_*hru的帖子

使用服务时从最近的任务中删除应用程序不会被终止

首先,这个问题不是关于我如何防止应用程序被杀死。其实我想把它杀掉。

\n

现在问题来了。我的应用程序连接到 BLE 设备,我希望当应用程序在后台时保持连接,但我不希望当用户从最近的应用程序中删除应用程序时保持连接。

\n

我实现了一个在连接启动时运行的服务,当应用程序进入后台时我将其发送到前台。我尝试了两种方法,仅bound service当活动被破坏时被破坏,以及started service我停止onTaskRemoved。两个案例都有同样的问题。

\n

问题是,当我不使用该服务并从最近使用的应用程序中删除该应用程序时,它被正确杀死并且 BLE 连接被终止,但是当我开始使用服务时,应用程序进程似乎仍然处于活动状态并且 BLE连接保持不变。

\n

我使用 Android Studio profiler 做了一些调查,我可以看到,在我从最近的应用程序中删除该应用程序后,我的应用程序中没有 Activity,也没有运行服务,但 Application 对象仍然存在。

\n

Leakanary 也不报告任何内存泄漏。

\n

看起来可能和这个问题类似,但是没有答案。它也有点类似于这个问题,但我使用干净的Android,而不是cordova。

\n

我调查了 Logcat,在没有服务的流程中我得到:

\n
HwRecentsTaskUtils: remove task send broadcast packageName={my_package_name}, userId=0,taskId=16893\nActivityManager: Killing 30468:{my_package_name}/u0a918 (adj 900): remove task\n\xe2\x80\xa6\nWindowManager: WIN DEATH: Window{bcb8d8c u0 {my_package_name}/{my_package_name}.MainActivity}\n
Run Code Online (Sandbox Code Playgroud)\n

在服务的情况下我得到:

\n
HwRecentsTaskUtils: remove task send broadcast packageName={my_package_name}, userId=0,taskId=16894\n\xe2\x80\xa6\nActivityThread: Remove activity client record, r= ActivityRecord{787d7fd token=android.os.BinderProxy@216a996 {{my_package_name}/{my_package_name}.MainActivity}} …
Run Code Online (Sandbox Code Playgroud)

android android-service android-service-binding

6
推荐指数
1
解决办法
1570
查看次数

IntelliJ中的JDBC mysql驱动配置

我正在 IntelliJ 中使用 servlet 和 Tomcat 创建一个 Web 应用程序。我想使用 JDBC 将我的应用程序连接到 MySQL 数据库。我下载了 MySQL Workbench,连接到它,并创建了一个数据库。

现在,在我的 IntelliJ 项目中,我按照教程添加了数据库连接,我的属性如下所示: 在此处输入图片说明

我的mysql驱动版本是5.1.35,所以应该兼容JDBC 4.0。发现(主要在这里)连接我的数据库我应该只使用:

Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试连接时,出现No suitable driver异常。即使我添加

Class.forName(DB_DRIVER).newInstance();
Run Code Online (Sandbox Code Playgroud)

我最终也一样。它仅在我在库和工件中手动向此驱动程序添加 jar 时才有效: 在此处输入图片说明 在此处输入图片说明

这真的是唯一的方法吗?如果 IntelliJ 自动下载了 jar,当我尝试连接时,它不应该也自动加载它吗?在DriverManager文档中有这样的东西:As part of its initialization, the DriverManager class will attempt to load the driver classes referenced in the "jdbc.drivers" system property.我必须以某种方式配置这个属性吗?

java mysql jdbc intellij-idea

5
推荐指数
1
解决办法
3万
查看次数

WiFi 建议 API 在 Android 上失败

我一直在尝试使用新的 Android WiFi 建议 API,其代码完全取自示例,但每次我尝试连接到网络时,当我调用时,wifiManager.addNetworkSuggestions(suggestionsList)我都会得到状态 3 的响应,这(根据此站点)表示IP提供失败。这意味着什么?我该如何处理?

我的应用程序拥有所有必需的权限,甚至更多权限(CHANGE_WIFI_STATEACCESS_WIFI_STATEINTERNETACCESS_FINE_LOCATIONCHANGE_NETWORK_STATEACCESS_NETWORK_STATE),并且位置已打开。我尝试了几个 WiFi 网络(所有网络都在 WiFi 设置中可见),但仍然遇到相同的 IP 配置错误。

android wifimanager android-wifi

5
推荐指数
1
解决办法
634
查看次数