綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[求助] (急)如何在asynctask中使用getWindowManager()

[複製連結] 查看: 4216|回覆: 3|好評: 0
跳轉到指定樓層
樓主
cchahaliu | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2013-8-12 12:50

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
本帖最後由 cchahaliu 於 2013-8-12 12:52 編輯

目前我查出在asynctask中似乎不能使用getWindowManager()的功能,因為getWindowManager()只能在activity使用

那請問要怎麼用activity的方式把getWindowManager()的資料給asynctask呢?

另外asynctask有辦法用getSystemService()來使用getWindowManager()嗎?該怎麼撰寫程式碼呢?

以下是我希望使用的code
private String getWeithAndHeight(String url) {  
        DisplayMetrics dm = new DisplayMetrics();  
        getWindowManager().getDefaultDisplay().getMetrics(dm);  
        int width = dm.widthPixels;
        int height = dm.heightPixels;  
        String w=new String(""+width);
        String h=new String(""+height);
        url=url+"&23=w%3A"+w+"%20h%3A"+h+"%20d%3A";
        return url;
    }  

非常感謝各位的回答~
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
xjxuvup | 收聽TA | 只看該作者
發表於 2013-8-12 14:58
我new一個Asynctask,然後在doInBackground裡面
可以用Class名稱.this.getWindowManager().getDefaultDisplay()
不會出錯
所以應該可以解決你的問題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

板凳
 樓主| cchahaliu | 收聽TA | 只看該作者
發表於 2013-8-12 15:04

請問是類似這樣的程式碼嗎?
  1. public class RequestTask extends AsyncTask<String, String, String>{
  2.         @Override
  3.        
  4.     protected String doInBackground(String... uri) {
  5.            
  6.             RequestTask.this.getWindowManager().getDefaultDisplay();
  7.               ............
  8.                    
複製代碼
可是他還是顯示
"The method getWindowManager() is undefined for the type RequestTask."

!!
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

地板
xjxuvup | 收聽TA | 只看該作者
發表於 2013-8-12 15:41
大概是像下圖這樣

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則