最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android動(dòng)態(tài)壁紙調(diào)用的簡(jiǎn)單實(shí)例

 更新時(shí)間:2013年06月04日 10:28:04   作者:  
動(dòng)態(tài)壁紙的實(shí)現(xiàn)其實(shí)就是在Activity中調(diào)用動(dòng)態(tài)壁紙服務(wù),通過(guò)綁定服務(wù)得到IWallpaperService,調(diào)用該接口中的attach函數(shù)實(shí)現(xiàn)壁紙的調(diào)用。

調(diào)用后動(dòng)態(tài)壁紙其實(shí)是顯示在Activity的后面,而Activity則是透明顯示,這樣就可以看到下面的動(dòng)態(tài)壁紙,如果Activity不是透明的則什么也看不到。

代碼中有用到兩個(gè)接口

IWallpaperService mService;

IWallpaperEngine mEngine;

我們可以看到該目錄下面有三個(gè)aidl接口,分別是

復(fù)制代碼 代碼如下:

interface IWallpaperConnection {

    void attachEngine(IWallpaperEngine engine);

    ParcelFileDescriptor setWallpaper(String name);

}

oneway interface IWallpaperService {

    void attach(IWallpaperConnection connection,

            IBinder windowToken, int windowType, boolean isPreview,

            int reqWidth, int reqHeight);

}


oneway interface IWallpaperEngine {

    void setDesiredSize(int width, int height);

    void setVisibility(boolean visible);

    void dispatchPointer(in MotionEvent event);

    void dispatchWallpaperCommand(String action, int x, int y,            int z, in Bundle extras);

    void destroy();

}

定義壁紙管理和壁紙信息變量

復(fù)制代碼 代碼如下:

private WallpaperManager mWallpaperManager = null;

private WallpaperInfo mWallpaperInfo = null;

private WallpaperConnection mWallpaperConnection = null;

private Intent mWallpaperIntent;

初始化這些變量

復(fù)制代碼 代碼如下:

mWallpaperManager = WallpaperManager.getInstance(this);

mWallpaperInfo = mWallpaperManager.getWallpaperInfo();//如果返回null則說(shuō)明當(dāng)前不是動(dòng)態(tài)壁紙

mWallpaperIntent = new Intent(WallpaperService.SERVICE_INTERFACE);

mWallpaperIntent.setClassName(mWallpaperInfo.getPackageName(), mWallpaperInfo.getServiceName());

綁定動(dòng)態(tài)壁紙服務(wù)

復(fù)制代碼 代碼如下:

bindService(mIntent, this, Context.BIND_AUTO_CREATE);

IWallpaperService mService;//這里有一個(gè)adil接口

在連接監(jiān)聽(tīng)中試著attach

復(fù)制代碼 代碼如下:

public void onServiceConnected(ComponentName name, IBinder service) {

                mService = IWallpaperService.Stub.asInterface(service);

                try {

                    mService.attach(this, view.getWindowToken(),

                    //        WindowManager.LayoutParams.TYPE_APPLICATION_MEDIA_OVERLAY,
                            WindowManager.LayoutParams.TYPE_APPLICATION_MEDIA,

                                  true, root.getWidth(), root.getHeight());

                } catch (RemoteException e) {

                    Log.w("", "Failed attaching wallpaper; clearing", e);
                }
        }


在bindService的時(shí)候發(fā)現(xiàn)總是失敗,后來(lái)發(fā)現(xiàn)是權(quán)限問(wèn)題,只有擁有系統(tǒng)權(quán)限的apk才可以使用WallpaperService.SERVICE_INTERFACE服務(wù),所以問(wèn)題就變成了怎么獲取系統(tǒng)權(quán)限。

相關(guān)文章

  • Android中刪除sdcard里文件的命令

    Android中刪除sdcard里文件的命令

    這篇文章主要介紹了Android中刪除sdcard里文件的命令,本文講解了刪除android模擬器或手機(jī)上的sd卡文件的方法,需要的朋友可以參考下
    2015-04-04
  • 深入了解ViewPager2的使用

    深入了解ViewPager2的使用

    這篇文章主要介紹了ViewPager2 使用的相關(guān)資料,幫助大家更好的進(jìn)行Android開(kāi)發(fā),感興趣的朋友可以了解下
    2020-12-12
  • android 通知Notification詳解及實(shí)例代碼

    android 通知Notification詳解及實(shí)例代碼

    這篇文章主要介紹了android 通知Notification詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • Android使用libgdx實(shí)現(xiàn)模擬方向鍵控制角色移動(dòng)的方法

    Android使用libgdx實(shí)現(xiàn)模擬方向鍵控制角色移動(dòng)的方法

    這篇文章主要介紹了Android使用libgdx實(shí)現(xiàn)模擬方向鍵控制角色移動(dòng)的方法,實(shí)例分析了Android中使用libgdx框架實(shí)現(xiàn)響應(yīng)方向鍵的技巧,適用于Android游戲開(kāi)發(fā)領(lǐng)域,需要的朋友可以參考下
    2015-12-12
  • Android:“萬(wàn)能”Activity重構(gòu)篇

    Android:“萬(wàn)能”Activity重構(gòu)篇

    本文主要介紹了mvp以及每一層,以及使用mvp來(lái)重構(gòu)“萬(wàn)能”Activity,其實(shí)每一層需要注意的東西還有很多,比如model層是最難寫(xiě)的一層。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01
  • Android實(shí)現(xiàn)ListView控件的多選和全選功能實(shí)例

    Android實(shí)現(xiàn)ListView控件的多選和全選功能實(shí)例

    這篇文章主要介紹了Android實(shí)現(xiàn)ListView控件的多選和全選功能,結(jié)合實(shí)例形式分析了ListView控件多選及全選功能的布局與功能實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-07-07
  • Android下如何使用百度地圖sdk

    Android下如何使用百度地圖sdk

    百度地圖 Android SDK是一套基于Android 2.1(v1.3.5及以前版本支持android 1.5以上系統(tǒng))及以上版本設(shè)備的應(yīng)用程序接口
    2013-07-07
  • Android編程實(shí)現(xiàn)獲取所有傳感器數(shù)據(jù)的方法

    Android編程實(shí)現(xiàn)獲取所有傳感器數(shù)據(jù)的方法

    這篇文章主要介紹了Android編程實(shí)現(xiàn)獲取所有傳感器數(shù)據(jù)的方法,涉及Android針對(duì)傳感器Sensor相關(guān)操作技巧,需要的朋友可以參考下
    2017-06-06
  • 淺談Android ANR的信息收集過(guò)程

    淺談Android ANR的信息收集過(guò)程

    ANR全稱(chēng)即Application Not Responding,也就是應(yīng)用程序無(wú)響應(yīng)。這篇文章主要介紹了Android ANR的信息收集過(guò)程,感興趣的同學(xué)可以了解一下
    2021-11-11
  • Android EditText實(shí)現(xiàn)輸入表情

    Android EditText實(shí)現(xiàn)輸入表情

    editText是TextView的子類(lèi),TextView能用的工具EditText都能用,接下來(lái)通過(guò)實(shí)例代碼給大家分享Android EditText實(shí)現(xiàn)輸入表情功能,感興趣的朋友一起看看吧
    2017-08-08

最新評(píng)論

霍林郭勒市| 台安县| 太湖县| 尉氏县| 盐池县| 桂平市| 凉城县| 普洱| 萝北县| 洪江市| 阜城县| 荔浦县| 绥阳县| 镇江市| 齐齐哈尔市| 诏安县| 红桥区| 大兴区| 克什克腾旗| 南京市| 紫金县| 南川市| 宜宾县| 遂川县| 民勤县| 南城县| 阿克苏市| 安西县| 五家渠市| 宁国市| 昔阳县| 天峨县| 东辽县| 太康县| 台湾省| 襄樊市| 凤山市| 滕州市| 华亭县| 天气| 射阳县|