android - 在android中,如何从代码更改Daydream的设置?

标签 android screensaver android-4.4-kitkat

我想编写一个可以更改白日梦设置的应用程序。需要将我自己的梦想设置为已选择,并将何时播放选项设置为“任一”。 sdk 19版本可以实现这个功能吗?

最佳答案

如果你想为用户设置白日梦,则不能这样做。但是,您可以在正确的位置打开系统设置,以便用户可以从已安装的 Daydreas 中进行选择。

您可以提供一个按钮来访问 Daydream 设置,如下所示:

public void onSettingsButtonClick(View v) {
    Intent intent;
    if (Build.VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN_MR2) {
        intent = new Intent(Settings.ACTION_DREAM_SETTINGS);
    } else {
        intent = new Intent(Settings.ACTION_DISPLAY_SETTINGS);
    }
    startActivity(intent);
}

这会将用户带到设备设置的“Daydream 设置”或“显示设置”部分。

如果您希望用户能够从设备设置转到特定 Activity 来配置您的 Daydream,您可以添加 <meta-data/>在 list 中将此处标记为 Daydream 服务的元素:

    <service
        android:name="some.package.SomeDaydream"
        android:exported="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.service.dreams.DreamService" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
        <meta-data
            android:name="android.service.dream"
            android:resource="@xml/dream_info" />
    </service>

以 API 级别 21 及更高级别为目标时,您必须使用 BIND_DREAM_SERVICE 权限在 list 文件中声明该服务。例如:

 android:permission="android.permission.BIND_DREAM_SERVICE">

然后,在 /res/xml/ ,添加dream_info.xml :

<?xml version="1.0" encoding="utf-8"?>
<dream xmlns:android="http://schemas.android.com/apk/res/android"
    android:settingsActivity="some.package/.SomeActivity" />

我有一个 Daydream 示例 here显示了这种行为(在两个方向)。

关于android - 在android中,如何从代码更改Daydream的设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20648305/

相关文章:

java - 如何为 Android 应用程序设置默认语言?

android - 改造不会在断点处停止

javascript - ngCordova 无法识别相机、手电筒或 Android 手机的其他部分

linux - 在 Linux 上 30 秒后用户空闲时间重置为 0

android - 用于启动屏幕保护程序 Activity 的 ADB 命令

android - 组合 Maven/Ant+Ivy 构建管理对于双平台桌面/Android 部署的敏感性?

c - mac屏保启动事件

Android 4.3+, android :textColorHint doesn't work, 提示颜色始终为白色

css - 在 Trigger.io 和 android 4.4 中使用 svg 背景图像

android - 如何检查是否为目录路径授予了权限并且不会出现 EACCES 错误?