我正在创建一个会发送通知的应用。但是当我使用这行代码时:
PendingIntent pendingIntent =
PendingIntent.getActivity(getApplicationContext(), 0, intent,
Intent.FLAG_ACTIVITY_NEW_TASK);
它说:
必须是以下一项或多项:PendingIntent.FLAG_ONE_SHOT,PendingIntent.FLAG_NO_CREATE,PendingIntent.FLAG_CANCEL_CURRENT,PendingIntent.FLAG_UPDATE_CURRENT,Intent.FILL_IN_ACTION,Intent.FILL_IN_DATA,Intent.FILL_IN_CATEGORIES,Intent.FILL_IN_COMPONENT,Intent.FILL_IN_PACKAGE,Intent.FILL_IN_SOURCE_BOUNDS, Intent.FILL_IN_SELECTOR,Intent.FILL_IN_CLIP_DATA
任何人都可以告诉我为什么会发生这种情况并建议一种解决方法吗?
提前致谢。
答案 0 :(得分:2)
如果查看Documentation | PendingIntent.getActivity(),getActivity()
方法flags
中的最后一个参数只能包含以下int
类型的标记:
FLAG_ONE_SHOT
FLAG_NO_CREATE
FLAG_CANCEL_CURRENT
FLAG_UPDATE_CURRENT
或Intent.fillIn()
所支持的任何旗帜,FILL_IN_ACTION
分别是:
FILL_IN_DATA
FILL_IN_CATEGORIES
FILL_IN_PACKAGE
} FILL_IN_COMPONENT
FILL_IN_SOURCE_BOUNDS
FILL_IN_SELECTOR
FILL_IN_CLIP_DATA
Intent.FLAG_ACTIVITY_NEW_TASK
因此,您无法在PendingIntent.getActivity()
方法中使用Intent
,因此您必须将其用作{
SET_TOKEN: function (state, token) {
state.token = token;
Vue.axios.defaults.headers.common['Authorization'] =
(token ? ('JWT ' + token) : '');
}
中的启动标记。