【问题标题】:is there a way to handle key events in a widget/service?有没有办法处理小部件/服务中的关键事件?
【发布时间】:2012-01-05 22:32:44
【问题描述】:

我想在我的 App Widget 中处理 volume upvolume down keyEvents。 它真的应该发生在app widget 或服务中,而不是在活动中(应该显示主屏幕)。

但据我所知,似乎不可能通过应用小部件或服务与用户做出反应,因此我无法获得 keyEvents。

所以我的问题是,如果我错了,是否有可能获得 keyEvents 或者可能使活动不可见?

【问题讨论】:

    标签: android android-widget media android-service


    【解决方案1】:

    如果“小部件”是指“应用小部件”,那么,不,您不能响应来自应用小部件的关键事件。

    【讨论】:

    • @tschob:是的,我真的希望 Google 能够为“应用程序小部件”提供另一个名称,这不会让我们不断怀疑“小部件”是否意味着类似 TextView 或“小部件”真正的意思是“应用小部件”......
    【解决方案2】:

    我发现了一个窍门。这不是最好的,但就我而言,我可以使用它。

    分配主题

     android:theme="@android:style/Theme.Dialog" 
    

     android:theme="@android:style/Theme.Translucent.NoTitleBar" 
    

    在 Android Manifest 中,可以有一个看起来像 Dialog 或透明的 Activity。所以主屏幕是可见的,在 Activity 中我可以得到 keyEvents。

    虽然在 Activity 运行期间用户不可能与主屏幕进行交互,但在我的情况下,这不是必需的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-01
      • 2018-05-16
      • 1970-01-01
      • 2012-02-14
      • 2017-04-27
      • 1970-01-01
      相关资源
      最近更新 更多