服务名称未解决

时间:2016-10-20 07:23:41

标签: java android android-service

我在这个问题中提到的错误在SO中有一些问题。但是,我看了20个问题,但没有人用Android服务谈过这个错误。我正在尝试将视频转换为动态壁纸,我正在阅读this tutorial,其中我应该为壁纸创建专门的服务:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.asgardia.peacelivewallpaper">


<application android:allowBackup="true" android:label="@string/app_name"
    android:icon="@mipmap/ic_launcher" android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <service android:name="com.asgardia.peacelivewallpaper.peacelivewallpaperservice"
        android:enabled="true"
        android:label="GIF Wallpaper"
        android:permission="android.permission.BIND_WALLPAPER" >
        <intent-filter>
            <action android:name="android.service.wallpaper.WallpaperService"/>
        </intent-filter>
        <meta-data
            android:name="android.service.wallpaper"
            android:resource="@xml/peacelivewallpaper" >
        </meta-data>
        <uses-feature
            android:name="android.software.live_wallpaper"
            android:required="true" >
        </uses-feature>
    </service>
</application>

在SO中的问题中,问题是海报应该将包名添加到.java类,其名称与服务相同。我在app/java/<package-name>/java添加了一个名为peacewallpaperservice.java的新类,我添加了这个类,因为从中我可以理解每个服务需要一个同名的类,但这似乎没有做太多。我仍然得到error: cannot resolve symbol peacelivewallpaper。我很感激一些帮助。

正如教程中提到的,我应该创建一个引擎来解码GIF文件:

public class GIFWallpaperEngine extends WallpaperService.Engine {
    private final int frameDuration = 20;

    private SurfaceHolder holder;
    private Movie movie;
    private boolean visible;
    private Handler handler;

    public GIFWallpaperEngine(Movie movie) {

        this.movie = movie;
        handler = new Handler();
    }

    @Override
    public void onCreate(SurfaceHolder surfaceHolder) {
        super.onCreate(surfaceHolder);
        this.holder = surfaceHolder;
    }

}

0 个答案:

没有答案