3

我有一个应用程序,主要用本机代码编写,基于 NativeActivity。大多数情况下,这作为全屏活动运行,并且像这样工作得很好。但是对于一个特定的用例,我需要能够在后台运行它,无头,通过通知和 toast 与用户通信。

在 Android 上执行此操作的惯用方法是使用服务;但是我不能在这里这样做,因为代码绝对必须是NativeActivity(因为本机代码依赖于NativeActivity事件模型,在你问之前,不,我不能改变这个)。

所以我需要一些方法来强制 Activity 像服务一样(至少对用户)。

我能想到的最不坏的方法是以某种方式隐藏 Activity,以便它运行,但不向用户显示。甚至还有一个方法,Activity.setVisible(),它应该做到这一点;但是当我尝试它时,它似乎无法正常工作。(Activity 出现,但空白,然后在应用程序显示其第一个 Dialog 时消失。如果这有所不同,这是在 Honeycomb 平板电脑上。)

理想情况下,我当然希望NativeService跟NativeActivity一起去,可惜这样的东西好像不存在,而且从源码看NativeActivity,写一个NativeService看起来很不简单。

建议?

4

0 回答 0