【问题标题】:Why should I use RemoteViews for Android home screen widgets?为什么我应该将 RemoteViews 用于 Android 主屏幕小部件?
【发布时间】:2011-04-22 05:05:55
【问题描述】:

我正在尝试实现一个 Android 主屏幕小部件。我很想知道为什么我应该使用 RemoteViews 来实现小部件?

【问题讨论】:

    标签: android android-widget


    【解决方案1】:

    Refer this link site.

    如果您熟悉在 XML 中声明布局,则创建 App Widget 布局很简单。但是,您必须知道 App Widget 布局基于 RemoteViews,它不支持所有类型的布局或视图小部件。

    RemoteViews 对象(因此,App Widget)可以支持以下布局类:

    FrameLayout
    LinearLayout
    RelativeLayout
    

    还有以下小部件类:

    AnalogClock
    Button
    Chronometer
    ImageButton
    ImageView
    ProgressBar
    TextView
    

    不支持这些类的后代。

    【讨论】:

    • 谢谢,但我不明白为什么 Android 团队决定使用 RemoteViews
    • 出于安全原因。通过使用 RemoteViews,我们可以确保应用程序不会在另一个进程(例如 Launcher)中执行代码。因此不可能从授予其他进程(Launcher)的权限中受益。
    【解决方案2】:

    大多数情况下,Widget 托管在另一个应用程序中,例如 Launcher,它在该父应用程序的进程中运行。

    RemoteViews 描述了可以在另一个进程中显示的视图层次结构。层次结构是从一个布局资源文件中膨胀而来的,这个类提供了一些修改膨胀层次结构内容的基本操作。

    这种选择背后的主要原因与安全性和性能有关。

    【讨论】:

      【解决方案3】:

      RemoteViews 用于应用小部件。它们是单独进程的一部分,但绑定到主进程,即为什么当我们单击小部件时,它会重定向到具有更详细信息的关联应用程序。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-22
        相关资源
        最近更新 更多