问题标签 [android-application-class]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
114 浏览

android - Android:给定应用程序上下文,如何知道哪个启动器图标/活动启动了应用程序?

我创建了一个库,当您添加到您的应用程序时会添加第二个启动器图标(它将用于调试网络),该库可以使用其上下文或活动从应用程序初始化,我想知道如果应用程序是从第二个启动器图标或另一个启动器启动的,则在我的库中。

我的第二个发射器还有一件事不同taskAfinity

该库在这里也是开源的:https ://github.com/shehabic/sherlock

0 投票
0 回答
132 浏览

android - 安卓应用改造

我正在创建一个简单的应用程序,它将使用改造库处理请求。

首先我初始化改造

这是我的 MyApplication.java 类

我在给这堂课打电话

RetrofitServiceFactory.java

但是为什么我在登录后从未从 sharedpreferences 中获取令牌。至少我需要重新打开应用程序?感谢和抱歉我的英语 xD

0 投票
0 回答
1055 浏览

android - 如何从 /vendor/app 启动 android-TREBLE 兼容的供应商 java 服务

在我的 Android-O 设备中,以下两个后台服务通过 AIDL 相互通信。

  1. 本机/c++ 安卓服务

    • 通过 init rc 启动
    • 使用系统 linux-user 运行
    • 部署在 /system 分区,eg, /system/bin/nat二进制。
  2. 来自 apk 的 Java 服务

    • 通过在 AndroidManifest 中注册的 bootcomplete 接收器启动。
    • 服务类也在 AndroidManifest 中指定,并且 export:enabled 已设置。
    • 运行系统系统 linux 用户,使用平台证书签名。
    • 部署在系统分区中。eg /system/app/jav/jav.apk

到目前为止没有任何问题。上述两项服务均已注册ServiceManager。两个服务都可以通过 /dev/binder 互相调用,都从 Android 启动开始并无限期地继续运行。

高音在这里带来了麻烦:

根据 Treble 的要求,以上两者都应该移动到 /vendor 分区,并使用适当的 SEPolicies。这样,java 和 c++ 服务都可以通过/dev/vndbinder. 相互调用,即通过注册自己VendorServiceManager

参考文档,https: //source.android.com/devices/architecture/hidl/binder-ipc 我能够启动成功/vendor/bin/nat注册的本机 c++ 服务VenorServiceManager(/dev/vndbinder)

现在我可以通过调用aidl接口函数vndservice call com.yyy.zzz.Myservice 0 但是,无法启动部署为的JAVA供应商服务/vendor/app/jav/jav.apk.

看起来总是ServiceManager处理 AndroidManifest 中的所有“服务”条目,而不是VendorServiceManager/vendor 分区应用程序。我不能通过 AndroidManifest 向 VendorServiceManager 注册吗?如果是,是否有任何我可以参考的示例应用程序/代码?

此外,Android 会抛出错误,提示无法启动后台服务。有没有办法从 /vendor 分区应用程序获得后台 JAVA 服务,即使它是由系统 linux 用户启动并使用平台证书签名的?

我不希望有“作业调度程序”类型的延迟处理程序,因为通信和响应预计是实时的,并且服务预计将从启动时无限期运行。

请帮助您的建议。

0 投票
1 回答
338 浏览

android - 在 kotlin 枚举中的应用

如果我在 kotlin 中使用应用程序是否安全enum?像这样:

0 投票
1 回答
54 浏览

android - 从另一个活动访问在一个活动中创建的数据库

我在主要活动中创建了我的数据库助手类的实例。

我想从可以更新该数据库的任何其他活动中访问该实例。我已经用getApplicationContext()as创建了一个实例,context但它仍然没有在另一个活动中显示该实例。

0 投票
0 回答
1010 浏览

android - Android App Bundle 检查缺少拆分会导致“RuntimeException:包管理器已死亡”

我按照本指南将检查集成到我的应用程序中,以防止在使用 Android App Bundles 时在运行时崩溃(用于丢失资源)。

onCreate()我在超级调用之前的方法中将以下代码添加到我的应用程序类中:

这在我自己的测试设备上没有问题。但是,如果我将 Android App Bundle 上传到 Google Play,则发布前报告中的某些设备会出现以下异常:

经过一番搜索,我发现这个问题与 Play Core 库无关,而是与 Android 包管理器有关。看起来 Play Core 库使用包管理器来检查是否缺少拆分。我不知道如何解决此问题,因为此异常不在我的代码范围内,因此我将不胜感激找到解决方案的任何帮助。

0 投票
2 回答
386 浏览

android - 当我在清单文件的应用程序标记中添加名称时应用程序崩溃

我正在处理通知,所以我想在调用 oncreate 方法时在启动应用程序中创建通道。所以当我在应用程序类的应用程序标签中添加应用程序类的名称时。当我删除它运行良好。当人们进入该区域时,我正在使用地理围栏通知,它将生成通知。

如果可以,请你帮助我..

清单文件

'''

申请文件

错误

0 投票
1 回答
324 浏览

android - Robolectric 没有调用 Application.onCreate(),我无法获取上下文

您好我有以下项目结构

在应用程序中,我对检查 SDK1 和 SDK2 进行了一些测试。

在 SDK 中,我有一个单例模式,仅用于通过 App 中的应用程序类设置上下文。

并且上下文在 App.Application.onCreate 的 SDK1.singleton 中设置

问题是当我尝试执行以下代码时,我总是得到空值:

知道为什么会发生这种情况,如何解决?

0 投票
1 回答
476 浏览

java - 在应用程序类中注册时广播接收器泄漏的风险

我正在应用程序的 Application 类中注册广播接收器' onCreate()。只要应用程序的进程处于活动状态,我基本上希望接收器处于活动状态。在这种情况下,应用程序的任何组件被触发都会导致接收器自动注册,并且只要进程还活着,就不会被销毁,因为我当时在 Application 类中注册。
应用类

广播接收器类

我在文档中读到,为了防止接收器泄漏,我们应该在我们正在注册的那个的相应生命周期方法中取消注册接收器。但是文档讨论了在Activity类中注册接收器。这同样适用于在Application课堂上注册接收者吗?这里的区别似乎是即使活动被破坏,应用程序进程仍然处于活动状态,因此泄漏是有意义的。但是,如果我在Application课堂上注册,我唯一希望我的接收器取消注册的时间是进程被终止时。进程终止后是否有泄漏的可能性?

0 投票
1 回答
62 浏览

android - 如何为 UI 和 Android 服务使用两个 android 应用程序类?

目前在我的应用程序中,我有一个 Android 应用程序类,并且在那里我正在做一些在应用程序 UI 和一些功能中使用的初始化。此外,我有一个 Android 服务,它在后台运行,其中一些事件不需要在我的应用程序类中进行上述初始化。当应用程序 UI 没有实例时,这会导致我的 Android 服务启动延迟。

因此,我需要创建一个单独的应用程序类并将我的服务与它结合起来。这个解决方案可能吗?如果是,实现它的更好方法是什么?

先感谢您。