国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Android - android動態壁紙調用的簡單實例

android動態壁紙調用的簡單實例

2021-01-24 12:09Android開發網 Android

動態壁紙的實現其實就是在Activity中調用動態壁紙服務,通過綁定服務得到IWallpaperService,調用該接口中的attach函數實現壁紙的調用。

調用后動態壁紙其實是顯示在Activity的后面,而Activity則是透明顯示,這樣就可以看到下面的動態壁紙,如果Activity不是透明的則什么也看不到。

代碼中有用到兩個接口

IWallpaperService mService;

IWallpaperEngine mEngine;

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

 

復制代碼 代碼如下:


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();

}

 

 

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

復制代碼 代碼如下:


private WallpaperManager mWallpaperManager = null;

 

private WallpaperInfo mWallpaperInfo = null;

private WallpaperConnection mWallpaperConnection = null;

private Intent mWallpaperIntent;

 

 

初始化這些變量

復制代碼 代碼如下:


mWallpaperManager = WallpaperManager.getInstance(this);

 

mWallpaperInfo = mWallpaperManager.getWallpaperInfo();//如果返回null則說明當前不是動態壁紙

mWallpaperIntent = new Intent(WallpaperService.SERVICE_INTERFACE);

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

 

綁定動態壁紙服務

復制代碼 代碼如下:


bindService(mIntent, this, Context.BIND_AUTO_CREATE);

 

IWallpaperService mService;//這里有一個adil接口

 

 

在連接監聽中試著attach

 

復制代碼 代碼如下:


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的時候發現總是失敗,后來發現是權限問題,只有擁有系統權限的apk才可以使用WallpaperService.SERVICE_INTERFACE服務,所以問題就變成了怎么獲取系統權限。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91在线电影 | 91在线精品一区二区三区 | 91亚洲日本aⅴ精品一区二区 | 国产日韩一区二区 | 国产精品激情在线观看 | 亚洲精品乱码久久久久久花季 | 久久午夜综合久久 | 久久免费精品视频 | 日韩在线观看中文 | 在线中文字幕观看 | 国产福利在线播放 | 精品黄色在线 | 在线观看亚洲免费视频 | 精品久久久久久久久久 | 国产高清美女一级a毛片久久 | 成人免费毛片aaaaaa片 | 国产精品一区av | 欧美极品视频 | 国产一区二区三区在线视频观看 | 九一视频在线免费观看 | 欧美一区二区三区在线观看视频 | 精品久久一二三区 | 国产欧美日韩综合精品一区二区 | 久久久免费视频播放 | 日本久久久久久久久久久久 | 国产黄色在线播放 | 午夜影院网站 | 亚洲国产精品一区二区久久 | 久久久精品一区二区 | 国产免费一区二区三区 | www.91色.com | 日韩视频在线观看 | 在线亚洲电影 | 国产日韩一区二区三免费高清 | 久久精品国产免费 | 成人免费网站在线观看 | 欧美视频区 | 成人a在线视频免费观看 | 国产一区二区三区午夜 | 成人一区二区在线 | 欧美日韩一区二区电影 |