zoukankan      html  css  js  c++  java
  • Android 壁纸设置代码 详解

      前几天看到豌豆荚上面风景壁纸的APP 下载得挺火,闲来无事心痒痒的想写一个壁纸程序。由于是Android开发新手,忘记了一个很重要的开发步骤,就是对权限的设置。开始以为自己写的壁纸设置程序有问题,经过对doc文档的多次阅读,写好几种对壁纸的设置。供大家参考。

    1、别忘记在ApplicationManifest.xml 中加上权限的设置。

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

             2、设置壁纸的方法总结。

    壁纸设置方法有三种

            第一 通过WallpaperManager方法中的 setBitmap()

    第二 通过WallpaperManager方法中的 setResource()

    第三 通过ContextWrapper 类中提供的setWallpaper()方法

     由于 Activity 继承ContextThemeWrapper ,ContextThemeWrapper继承 ContextWrapper.

            1)通过实例化WallpaperManager 类调用单例类中setBitmap()方法。

    Java代码 复制代码 收藏代码
    1. WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);   
    2.  Resources res = getResources();   
    3.  Bitmap bitmap=BitmapFactory.decodeResource(res, getResources().getIdentifier("wallpaper" + imagePosition, "drawable""com.ch"));    
    4. wallpaperManager.setBitmap(bitmap);   
    5. Toast.makeText(this"设置成功", Toast.LENGTH_SHORT).show();  
    1. WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);  
    2.  Resources res = getResources();  
    3.  Bitmap bitmap=BitmapFactory.decodeResource(res, getResources().getIdentifier("wallpaper" + imagePosition, "drawable""com.ch"));   
    4. wallpaperManager.setBitmap(bitmap);  
    5. Toast.makeText(this"设置成功", Toast.LENGTH_SHORT).show();  

             2)第二 通过WallpaperManager方法中的 setResource()

    Java代码 复制代码 收藏代码
    1. WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);   
    2.     try {   
    3.         wallpaperManager.setResource(getResources().getIdentifier("wallpaper" + imagePosition, "drawable""com.ch"));   
    4. Toast.makeText(this"设置成功", Toast.LENGTH_SHORT).show();   
    5.     } catch (IOException e) {   
    6.         e.printStackTrace();   
    7. }  
    1. WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);  
    2.     try {  
    3.         wallpaperManager.setResource(getResources().getIdentifier("wallpaper" + imagePosition, "drawable""com.ch"));  
    4. Toast.makeText(this"设置成功", Toast.LENGTH_SHORT).show();  
    5.     } catch (IOException e) {  
    6.         e.printStackTrace();  
    7. }  
      3)第三 通过ContextWrapper 类中提供的setWallpaper()方法
    Java代码 复制代码 收藏代码
    1. //重写ContextWrapper中setWallpaper()方法   
    2. public void setWallpaper(InputStream paramInputStream) throws IOException {   
    3.         super.setWallpaper(paramInputStream);   
    4.         Toast.makeText(this"设置成功"1).show();   
    5. }   
    6.   
    7. //设置壁纸代码   
    8.                         Resources localResources = getBaseContext().getResources();   
    9.             InputStream localInputStream2 = localResources   
    10.                     .openRawResource(getResources().getIdentifier(   
    11.                             "wallpaper" + imagePosition, "drawable""com.ch"));   
    12.             try {   
    13.                 setWallpaper(localInputStream2);   
    14.             } catch (IOException e) {   
    15.                 e.printStackTrace();   
    16.             }  
    1. //重写ContextWrapper中setWallpaper()方法  
    2. public void setWallpaper(InputStream paramInputStream) throws IOException {  
    3.         super.setWallpaper(paramInputStream);  
    4.         Toast.makeText(this"设置成功"1).show();  
    5. }  
    6.   
    7. //设置壁纸代码  
    8.                         Resources localResources = getBaseContext().getResources();  
    9.             InputStream localInputStream2 = localResources  
    10.                     .openRawResource(getResources().getIdentifier(  
    11.                             "wallpaper" + imagePosition, "drawable""com.ch"));  
    12.             try {  
    13.                 setWallpaper(localInputStream2);  
    14.             } catch (IOException e) {  
    15.                 e.printStackTrace();  
    16.             }  
         总结:
               设置壁纸功能很简单,可以当成我们第一个app应用练手。其中可以加入ImageSwitcher 和gallery等控件。
        真正完成一个可以发布的App应用
  • 相关阅读:
    XSS的原理分析与解剖:第四章(编码与绕过)*******************未看**********************
    XSS的原理分析与解剖:第三章(技巧篇)**************未看*****************
    XSS的原理分析与解剖(第二篇)
    XSS的原理分析与解剖
    sqlmap用户手册详解【实用版】
    mysql注入篇
    MySQL中函数CONCAT及GROUP_CONCAT
    access注入篇+sqlmap
    搭建本地 8.8 W 乌云漏洞库
    fiddler对浏览器、app抓包及证书安装
  • 原文地址:https://www.cnblogs.com/xieyuan/p/3787388.html
Copyright © 2011-2022 走看看