出于某种原因,我想在我的 asynctask 函数中获取用户的电话信息。
这是我的异步任务代码
package com.example.myfirstapp;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Calendar;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.StatusLine;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.os.AsyncTask;
import android.util.DisplayMetrics;
import android.util.Log;
public class RequestTask extends AsyncTask<String, String, String>{
@Override
protected String doInBackground(String... uri) {
...my code
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
//Do anything with response..
}
private String getWeith(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;
}
}
错误消息显示“方法 getWindowManager() 未定义类型 RequestTask。”
但我已经尝试导入我所知道的一切...... 这个“getWeith()”函数可以在我的主要 Activity 上工作。 请帮助我,谢谢。
最佳答案
Reason for error
getWindowManager()
是 Activity
上的方法,而不是 AsyncTask
上的方法,因此您将收到错误“The method getWindowManager() is undefined对于类型 RequestTask。”。
How to fix it?
为了在 AsyncTask 中获取此方法,请使用 getSystemService()
检索 WindowManager
然后执行任务。
关于android - 如何在 Asynctask 中实现 getWindowManager()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18178979/