我对Android的经验不足,因此每当用户收到来自Firebase的推送通知时,我都会尝试使用Volley库在后台下载文件。
我遵循了本教程
https://techstricks.com/download-file-using-android-volley/
我的Firebase通知接收器类如下所示:
public class MyFirebaseMessagingService extends FirebaseMessagingService implements Response.Listener<byte[]>, Response.ErrorListener {
我的自定义课程要下载,
public class InputStreamVolleyRequest extends Request<byte[]> {
private final Response.Listener<byte[]> mListener;
private Map<String, String> mParams;
//create a static map for directly accessing headers
public Map<String, String> responseHeaders;
public InputStreamVolleyRequest(int post, String mUrl, Response.Listener<byte[]> listener,
Response.ErrorListener errorListener, HashMap<String, String> params) {
// TODO Auto-generated constructor stub
super(post, mUrl, errorListener);
// this request would never use cache since you are fetching the file content from server
setShouldCache(false);
mListener = listener;
mParams = params;
}
@Override
protected Map<String, String> getParams()
throws com.android.volley.AuthFailureError {
return mParams;
}
;
@Override
protected void deliverResponse(byte[] response) {
mListener.onResponse(response);
}
@Override
protected Response<byte[]> parseNetworkResponse(NetworkResponse response) {
//Initialise local responseHeaders map with response headers received
responseHeaders = response.headers;
//Pass the response data here
return Response.success(response.data, HttpHeaderParser.parseCacheHeaders(response));
}
}
现在当我尝试调用上述类的构造函数时
request = new InputStreamVolleyRequest(Request.Method.GET, urltohit, context, context, null);
在传递上下文时出现错误。
任何帮助对我来说都是非常有用的
最佳答案
预期的参数是volleyListener,错误侦听器,并且您正在传递android上下文
request = new InputStreamVolleyRequest(Request.Method.GET, urltohit, this, this, null);
关于java - 接口(interface)实现错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48275790/