代码之家  ›  专栏  ›  技术社区  ›  zsniperx

Android上所有响应特定类别的软件包?

  •  0
  • zsniperx  · 技术社区  · 14 年前

    我想建立一个Android小部件,将更新非常频繁(5秒)。这意味着,我只想在屏幕打开并且主屏幕是活动活动时更新它。

    如何获取家庭应用程序(或响应 <category android:name="android.intent.category.HOME"/> )

    在android API中,我可以使用 Intent.createChooser(Intent target, CharSequence title) 不知何故,我得到的名单或我必须得到所有的活动,检索他们的意图和使用 hasCategory(String category) 每一个意图。

    谢谢!

    2 回复  |  直到 14 年前
        1
  •  0
  •   CommonsWare    14 年前

    我想建立一个Android小部件,将更新非常频繁(5秒)。

    哎哟。请允许用户对此进行配置。

    这意味着,我只想在屏幕打开并且主屏幕是活动活动时更新它。

    我不担心屏幕开着--只要用一个非- _WAKEUP 报警 AlarmManager . 然而,“当主屏幕是活跃的活动”将是一个史诗般的黑客,如果它工作的话。

    在android API中,我可以使用Intent.createChooser(Intent target,CharSequence title)并以某种方式获取列表,或者我必须获取所有活动,检索它们的意图,并在每个Intent上使用hascegory(String category)。

    queryIntentActivities() 对于一个 ACTION_MAIN CATEGORY_HOME Intent .

    然后,您将遇到确定这是否是屏幕上的活动的问题。我不知道这是否可能。 ActivityManager

    然后,你会遇到一个问题,那就是 现有的api不是事件驱动的,这意味着您仍然需要运行代码来轮询事件 活动管理器 ,但如果您确定主屏幕不在前台,则可以通过跳过工作来保存一些指令。

    因此,我回到“请允许这是由用户配置”,因为你只是乞求在市场上的一星级评级,特别是取决于你打算做什么每5秒。