在 Android(或 Android TV)中创建屏保应用程序

问题描述 投票:0回答:0

我想为 Android 和 Android TV 制作一个用作屏幕保护程序的应用程序。学完这篇资料后:

在 Android 中创建屏保

我意识到我需要添加一个特殊的权限:

  • android.service.dreams.DreamService

  • android.intent.action.MAIN

  • android.intent.category.HOME

  • android.intent.category.DEFAULT

但不幸的是,这不起作用。该应用程序未显示在 Android TV 或我手机上的屏幕服务器列表中。

List of all screensavers

你能帮帮我吗?

安卓清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <uses-permission android:name="android.permission.SET_WALLPAPER" />
 


    <application
        android:allowBackup="true"
        android:dataExtractionRules="@xml/data_extraction_rules"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:permission="android.permission.BIND_DREAM_SERVICE"
        android:theme="@style/Theme.Screensaver"
        tools:targetApi="31">

        <activity
            android:name=".MainActivity"
            android:exported="true">

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.HOME" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.LAUNCHER" />
                <action android:name="android.service.dreams.DreamService" />
                <category android:name="android.intent.category.DEFAULT" />


            </intent-filter>

            <meta-data
                android:name="android.app.lib_name"
                android:value="" />

        </activity>
    </application>

</manifest>

Java:

package com.tv.screensaver.test;

import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;
import android.os.Bundle;
import android.view.WindowManager;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        getWindow().addFlags(
                WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
                        WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
                        WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
    }
}

P.S 我是 StackOverflow 的新手,并不是真正在 Android Studio 中编程(我 13 岁)

我意识到我需要添加一个特殊的权限:

  • android.service.dreams.DreamService

  • android.intent.action.MAIN

  • android.intent.category.HOME

  • android.intent.category.DEFAULT

但不幸的是,这不起作用。该应用程序未显示在 Android TV 或我手机上的屏幕服务器列表中。

List of all screensavers

java android permissions android-manifest screensaver
© www.soinside.com 2019 - 2024. All rights reserved.