Android BroadcastReceiver无法明显启动活动
我有一项服务,必须启动某项活动。我创建了一个BroadcastReceiver,它通过以下代码调用活动(它不是主活动):Android BroadcastReceiver无法明显启动活动,android,broadcastreceiver,Android,Broadcastreceiver,我有一项服务,必须启动某项活动。我创建了一个BroadcastReceiver,它通过以下代码调用活动(它不是主活动): Intent intent = new Intent(context, DataActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK ); Log.w("DEBUG","Activity started. Context: "+context.getClass().toString())
Intent intent = new Intent(context, DataActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
Log.w("DEBUG","Activity started. Context: "+context.getClass().toString());
context.startActivity(intent);
我还在清单中设置:
android:launchMode="singleTop"
我在手机的菜单上等待活动的显示。什么也没发生。当我切换到我的应用程序时,活动变为可见并继续。这是一个问题,我必须使活动在广播接收器启动时立即可见
你知道该怎么做吗?发送广播很弱 活动必须直接从服务内部开始 与此相反:
Intent broadcastIntent = new Intent();
broadcastIntent.setAction(DataBroadcastReceiver.ACTION_RESP);
broadcastIntent.addCategory(Intent.CATEGORY_DEFAULT);
sendBroadcast(broadcastIntent);
在服务中使用此选项:
Intent intent = new Intent(getApplicationContext(), DataActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplicationContext().startActivity(intent);
您是否将服务绑定到应用程序?这应该已经可以正常工作了。我没有绑定它,因为我的服务应该在应用程序被终止时仍在运行。我得到了一个应用程序,其中我有一个服务,可以保存/处理buttonClickReceiver,它可以启动自定义活动。这就是你要找的吗?我的目标很简单:不管主应用是什么,我的服务都应该保持运行。但是,当服务启动活动时,它应该立即弹出,而不是停留在后台。