我有一个包含一个片段的活动,该片段使用android youtube api播放youtube视频,并在完成时为youtube视频注册一个事件监听器。
在onVideoEnded
事件中,我获得了对该活动的引用以执行某些操作,而这就是我将该活动放入片段中的方式:
private Activity theActivity;
@Override
public void onAttach(Context context) {
super.onAttach(context);
theActivity = (Activity) context;
}
/*
* Deprecated on API 23
* Use onAttachToContext instead
*/
@SuppressWarnings("deprecation")
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
if (Build.VERSION.SDK_INT < 23) {
theActivity = activity;
}
}
@Override
public void onDetach() {
super.onDetach();
theActivity = null;
}
protected Activity getTheActivity() {
Activity activity = getActivity();
if (activity != null)
return activity;
else return this.theActivity;
}
正如您在我的getTheActivity
方法上看到的那样,我首先检查getActivity
方法,如果它返回空值,则当片段为创建。
但是,在像三星onAttach
这样的设备上,方法仍然返回null!
我认为这可能是内存不足的问题!
在任何情况下,如何从片段中引用我的活动?
答案 0 :(得分:-2)
在清单文件中的application标签中添加这两行
axios.post(`${baseURI}/protocol/openid-connect/token`, data, {
headers : {
"Authorization" : "Basic " + token,
"Content-Type" : "application/x-www-form-urlencoded"
},
withCredentials: true
}).then(response => {
AUTH_TOKEN = response.data.access_token;
console.log(response.data);
}).catch(error => {
console.log(error.response);
})