请在上面查看此内容:Anonymous Uploading File object to Imgur API (JSON) gives Authentication Error 401(如果有人有兴趣,它有doInBackground()方法的代码)
使用AsyncTask类,我将图像上传到Imgur。上传过程在doInBackground()方法中完成。它返回指向onPostExecute的String链接,该链接应以Toast消息的形式显示链接。
@Override
protected void onPostExecute(String result)
{
super.onPostExecute(result);
Toast.makeText(getApplicationContext(), "Uploaded! Link: " + result, Toast.LENGTH_SHORT).show();
}
但是,这样做会产生以下错误:
方法getApplicationContext()未定义类型UploadToImgurTask
尝试将返回字符串复制到剪贴板会产生类似的问题。
@Override
protected void onPostExecute(String result)
{
super.onPostExecute(result);
ClipboardManager clipboard = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("label", "Text to copy");
clipboard.setPrimaryClip(clip);
}
方法getSystemService(String)未定义类型UploadToImgurTask
答案 0 :(得分:5)
@Raghunandan是对的。因此,在您的UploadToImgurTask
课程中,您可以:
private Context context;
//in constructor:
public UploadToImgurTask(Context context){
this.context=context;
}
然后在onPostExecute
中,你可以简单地使用:
Toast.makeText(context, "Uploaded! Link: " + result, Toast.LENGTH_SHORT).show();
希望这会对你有所帮助。
答案 1 :(得分:1)
代替getApplicationContext(),如果它从Activity扩展,则使用AsyncTask的Parent类名称和“.this”,如 MyActivity.this 否则使用 getActivity()。希望你的问题能够解决这个问题
答案 2 :(得分:0)
试试这段代码
public static void pushprofList(Activity context){
static Context = mConext;
protected void onPostExecute(String result) {
Toast toast=Toast.makeText(mConext,"Succefully Updated Profile",Toast.LENGTH_LONG);
toast.show();
}
}
这完全可以工作并显示吐司信息。