2014-03-28 3 views
1

내 라이브 배경 화면이 설정되었는지 여부를 알고 싶습니다.이 설정은 "바탕 화면 설정"버튼이 있기 때문에 가능합니다. 내 벽지가 이미 설정되지 않았습니다. 당신이 배경 화면이 이미 설정되어있는 경우 단지 확인을위한 정착하는 모든Android : 라이브 배경 화면이 설정되었는지 확인하는 방법

+0

가 방금 savedInstances 번들에 설정할 수 없습니다 – Hosni

답변

4

감사를 ImZaat의 대답에 나는 솔루션 내 벽지 있는지 알고 싶습니다, ImZaat의 코드는, 나를 위해 작동하지 않는 발견 벽지 엔진 자체가 아니라 다른 하나의 활동에서 실행되고 있습니다 (이는 벽지에 대한 일부 기본 설정을 지정하기 위해 사용되는 활동이므로 동일한 packege 안에 있음).

내가 무슨 짓을하고 잘 작동하고 (코드가 활동에서에서 onCreate() 메소드 내부 :

WallpaperManager wpm = WallpaperManager.getInstance(this); 
    WallpaperInfo info = wpm.getWallpaperInfo(); 

    if (info != null && info.getPackageName().equals(this.getPackageName())) { 
     Log.d(TAG, "We're already running"); 
    } else { 
     Log.d(TAG, "We're not running"); 
    } 
2

Thaks? WallpaperService # onCreateEngine()의 구현에

당신은 할 수 :

WallpaperManager wpm = (WallpaperManager) getSystemService(WALLPAPER_SERVICE); 
WallpaperInfo info = wpm.getWallpaperInfo(); 
if (info != null && info.getComponent().equals(new ComponentName(this, getClass()))) { 
    Log.d(TAG, "We're already running"); 
    // Still might be a preview, but the user is already running your LWP. 
} else { 
    Log.d(TAG, "We're not running, this should be a preview"); 
    // Should definitely be a preview. 
} 
+0

당신을 감사하고 당신의 대답. 나는 그 코드를 보았지만 그것이 벽지가 실행 중인지 또는 미리보기 모드인지를 알기 위해 사용되었다고 생각했다. 그러나 아마도 당신이 옳았다. 나는 그것을 테스트 할 것이고 그것이 작동한다면 당신의 대답을 받아 들일 것이다! –

관련 문제