2011-06-27 11 views
0

私は本当に、私はここで、このエラーににjava.lang.ClassNotFoundException:ローダー[email protected]でcom.localfotos.MyWallpaperService

を取得する理由を理解しないが、私のアンドロイドマニフェストです:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.localfotos" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    <uses-sdk android:minSdkVersion="7" /> 

    <uses-feature android:name="android.software.live_wallpaper" /> 

    <application android:icon="@drawable/icon" android:label="@string/app_name"> 

     <service android:name=".MyWallpaperService" 
      android:label="@string/app_name" 
      android:icon="@drawable/icon"> 

      <intent-filter> 
       <action android:name="android.service.wallpaper.WallpaperService" /> 
      </intent-filter> 
      <meta-data android:name="android.service.wallpaper" 
       android:resource="@xml/livewallpaper" /> 

     </service> 

    </application> 
</manifest> 

MyWallpaperServiceクラス:

import android.service.wallpaper.WallpaperService; 
import android.view.MotionEvent; 
import android.view.SurfaceHolder; 

public class MyWallpaperService extends WallpaperService { 

    @Override 
    public Engine onCreateEngine() { 
     return new MyEngine(); 
    } 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
    } 

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

    public class MyEngine extends Engine { 

     private MyWallpaperPainting painting; 

     MyEngine() { 
      SurfaceHolder holder = getSurfaceHolder(); 
      painting = new MyWallpaperPainting(holder, 
       getApplicationContext()); 
     } 

     @Override 
     public void onCreate(SurfaceHolder surfaceHolder) { 
      super.onCreate(surfaceHolder); 
      // register listeners and callbacks here 
      setTouchEventsEnabled(true); 
     } 

     @Override 
     public void onDestroy() { 
      super.onDestroy(); 
      // remove listeners and callbacks here 
      painting.stopPainting(); 
     } 

     @Override 
     public void onVisibilityChanged(boolean visible) { 
      if (visible) { 
       // register listeners and callbacks here 
       painting.resumePainting(); 
      } else { 
       // remove listeners and callbacks here 
       painting.pausePainting(); 
      } 
     } 

     @Override 
     public void onSurfaceChanged(SurfaceHolder holder, int format, 
       int width, int height) { 
      super.onSurfaceChanged(holder, format, width, height); 
      painting.setSurfaceSize(width, height); 
     } 

     @Override 
     public void onSurfaceCreated(SurfaceHolder holder) { 
      super.onSurfaceCreated(holder); 
      // start painting 
      painting.start(); 
     } 

     @Override 
     public void onSurfaceDestroyed(SurfaceHolder holder) { 
      super.onSurfaceDestroyed(holder); 
      boolean retry = true; 
      painting.stopPainting(); 
      while (retry) { 
       try { 
        painting.join(); 
        retry = false; 
       } catch (InterruptedException e) {} 
      } 
     } 

     @Override 
     public void onOffsetsChanged(float xOffset, float yOffset, 
       float xStep, float yStep, int xPixels, int yPixels) { 
     } 

     @Override 
     public void onTouchEvent(MotionEvent event) { 
      super.onTouchEvent(event); 
      painting.doTouchEvent(event); 
     } 

    } 

} 

ありがとう!

+0

'MyWallpaperService'は' com.localfotos'内にパッケージされていますか? – Haphazard

+0

ああ、私はそれを見ていない方法( - : – nomoral

答えて

1

MyWallpaperServicecom.localfotosにパッケージされていることを確認してください。

関連する問題