Imposta Live Wallpaper Programmaticamente su Dispositivo Rooted Android

È in qualche modo ansible impostare Live Wallpaper in modo programmato utilizzando la mia applicazione?

Sto lavorando su un'applicazione che il suo scopo è quello di scegliere alcuni dei Live Wallpapers installati sul dispositivo e di impostarli come Live Wallpaper. Questa azione deve essere completata tramite la mia applicazione.

  • OnDestroy viene chiamato each volta che lo schermo continua
  • setVisibility (View.VISIBLE) non sempre funziona. Idee?
  • Come disabilitare il mapping di android
  • Dimensione del text di Tablet Tablet Tablet
  • Android: come utilizzare SectionIndexer
  • Registrazione in Android dando eccezioni
  • Mentre stavo cercando, ho trovato alcune risposte che questo può essere fatto con rooting del dispositivo Android?

    Qualcuno può aiutarmi a farlo esattamente?

  • Finestra di dialogo LocationSettingsRequest per abilitare il GPS - onActivityResult () saltato
  • Indirizzo di heap non valido e segnale fatale 11
  • logging e salvataggio di audio su Android
  • Gestione degli errori centralizzati retrofit 2?
  • Come determina l'Android se un'app ha "utilizzo della batteria elevata" in "Richieste recenti di località"?
  • Android: crea un button di scorrimento con l'image e nessun text
  • 2 Solutions collect form web for “Imposta Live Wallpaper Programmaticamente su Dispositivo Rooted Android”

    Android OS prima di Jelly Bean non consente di impostare in modo programmato uno background in diretta. Per ora Jelly Bean support la modifica della Live Wallpaper in modo programmato senza interazione con l'utente

    Spiacenti di rompere con i pronostici ma è ansible impostare una carta da parati dal vivo in modo programmato SENZA l'interazione con l'utente. Richiede:

    1. L'applicazione è privilegiata dal sistema
    2. <uses-permission android:name="android.permission.SET_WALLPAPER_COMPONENT" />
    3. Riflessione Java (codice di hacking super)
    4. Un riferimento di class alla WallpaperService desiderata (Live Wallpaper)

    NOTA: Per l'articolo # 3, ho usato la mia carta da parati dal vivo, la class MyWallpaperService

    Ciò può essere fatto solo se l'applicazione è privilegiata dal sistema e dispone di questa authorization nel manifesto:

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

    Ora, usando la riflessione, puoi call i methods nascosti di WallpaperManager per impostare manualmente la carta da parati live:

     WallpaperManager manager = WallpaperManager.getInstance(context); Method method = WallpaperManager.class.getMethod("getIWallpaperManager", null); Object objIWallpaperManager = method.invoke(manager, null); Class[] param = new Class[1]; param[0] = ComponentName.class; method = objIWallpaperManager.getClass().getMethod("setWallpaperComponent", param); //get the intent of the desired wallpaper service. Note: I created my own //custom wallpaper service. You'll need a class reference and package //of the desired live wallpaper Intent intent = new Intent(WallpaperService.SERVICE_INTERFACE); intent.setClassName(context.getPackageName(), MyWallpaperService.class.getName()); //set the live wallpaper (throws security exception if you're not system-privileged app) method.invoke(objIWallpaperManager, intent.getComponent()); 

    Fare riferimento al codice sorgente:

    • LiveWallpaperActivity
    • LiveWallpaperPreview
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.