如果上下文不是活动上下文而是应用程序上下文,如何启动Intent

时间:2012-02-11 02:57:17

标签: android android-intent android-context

我正在尝试从扩展BroadcastReceiver的类开始一个活动。

public void onReceive(Context context, Intent intent) {

问题是参数上下文是Application上下文而不是Activity上下文。

是否有办法使用Application上下文启动intent?

2 个答案:

答案 0 :(得分:36)

以下是如何使用上下文调用其他活动的示例代码, 根据您的要求设置标志:

public void onReceive(Context context, Intent intent) { 

  Intent startActivity = new Intent();  
  startActivity.setClass(context, xxx.class); 
  startActivity.setAction(xxx.class.getName()); 
  startActivity.setFlags( 
              Intent.FLAG_ACTIVITY_NEW_TASK 
              | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); 
  context.startActivity(startActivity); 
}

答案 1 :(得分:-7)

是的,只需使用上下文并从该上下文中调用startActivity()方法。