2016-12-31 14 views
0

Androidの壁紙としてgif画像を使いたいのですが、何か問題があります。 私は次のエラーがあります:"Default Activity Not Found"プロジェクトにエラーはありませんが、実行するとAndroid Studioでこのエラーが発生します。WallpaperServiceの「デフォルトのアクティビティが見つかりません」

public class GIFWallpaperService extends WallpaperService { 

    @Override 
    public WallpaperService.Engine onCreateEngine() { 
     try { 
      Movie movie = Movie.decodeStream(
        getResources().getAssets().open("girl.gif")); 

      return new GIFWallpaperEngine(movie); 
     }catch(IOException e){ 
      Log.d("GIF", "Could not load asset"); 
      return null; 
     } 
    } 

    private 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; 
     } 

     private Runnable drawGIF = new Runnable() { 
      public void run() { 
       draw(); 
      } 
     }; 


     private void draw() { 
      if (visible) { 
       Canvas canvas = holder.lockCanvas(); 
       canvas.save(); 
        // Adjust size and position so that 
        // the image looks good on your screen 
        canvas.scale(3f, 3f); 
        movie.draw(canvas, -100, 0); 
       canvas.restore(); 
       holder.unlockCanvasAndPost(canvas); 
       movie.setTime((int) (System.currentTimeMillis() % movie.duration())); 

       handler.removeCallbacks(drawGIF); 
       handler.postDelayed(drawGIF, frameDuration); 
      } 
     } 

     @Override 
     public void onVisibilityChanged(boolean visible) { 
      this.visible = visible; 
      if (visible) { 
       handler.post(drawGIF); 
      } else { 
       handler.removeCallbacks(drawGIF); 
      } 
     } 

     @Override 
     public void onDestroy() { 
      super.onDestroy(); 
      handler.removeCallbacks(drawGIF); 
     } 
    } 
} 

これが私のマニフェストです:

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

    <application android:allowBackup="true" android:label="@string/app_name" 
     android:icon="@drawable/ic_launcher" android:theme="@style/AppTheme"> 

     <service 
      android:name=".GIFWallpaperService" 
      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/wallpaper" > 
      </meta-data> 
     </service> 

    </application> 

    <uses-feature 
     android:name="android.software.live_wallpaper" 
     android:required="true" > 
    </uses-feature> 
</manifest> 
+0

デフォルトの活動 – shadygoneinsane

答えて

0

は、あなたの中にマニフェストファイルでこれを交換してください。

<intent-filter> 

    <action android:name="android.service.wallpaper.WallpaperService"/> 

    <category android:name="android.intent.category.LAUNCHER" /> 

</intent-filter> 

これはあなたのProblem.pleaseを解決し、私に知らせてくれると思います。

・ホープ、この意志のに役立ちます。..(:

+0

はまだ「デフォルトアクティビティが見つかりません」というエラーが動作しないはありませんか? –

-1

実行 - >編集設定 - >起動 セット「何もない」

関連する問題