在我的应用程序中,我在Service
的onCreate()
方法中注册了BroadcastReceiver
。从BroadcastReceiver开始活动
registerReceiver(receiver, newIntentFilter(myAction));
现在我需要从每个时间onReceive(Context context, Intent intent)
发生新注册的BroadcastReceiver
开始活动:
Intent i = new Intent(context,MyClass.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
的“上下文”,其已经被传递给我的BroadcastReceiver
的Context
。那成功地工作并且开始了Activity
。这是从Service
开始在BraodcastReceiver
内的Activity
的正确和可靠的方法吗?因为有很多是为获取Context
,像getApplicationContext()
或getApplication()
的等
在我的情况下,使用已传递给我的BroadcastReceiver
正确的方式Context
?
'BroadcastReceiver'没有'Context'。当调用'BroadcastReceiver.onReceive()'时它传递了一个上下文,但它没有自己的一个,并且通过继承不是'Context'。 – Prmths
@Prmths是的,我想说同样的话,对不起如果我不清楚! – Soheil