我有一个应用程序的屏幕小部件。单击此小部件时,会打开“DeveloperMode”设置。但在一些设备上,应用程序因以下消息而崩溃。
引起:android.util.AndroidRuntimeExcture:从活动上下文外部调用starActive()需要FLAG_ACTIVITY_NEW_TASK标志。这真的是你想要的吗?
我曾尝试使用addFlags和setFlags添加这一行,但仍然存在相同的问题。我以前也问过类似的问题,但没有一个有效。这是我的DevModeWidgetReceiver
,它扩展了BroadcastReceiver
。
public class DevModeWidgetReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.new_app_widget);
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
appWidgetManager.updateAppWidget(new ComponentName(context, DevModeWidgetReceiver.class), views);
//without FLAG_ACTIVITY_NEW_TASK
//context.startActivity(new Intent(android.provider.Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS));
//with set FLAG_ACTIVITY_NEW_TASK
/*Intent intent1 = new Intent(new Intent(android.provider.Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent1);*/
//with add FLAG_ACTIVITY_NEW_TASK
Intent intent1 = new Intent(new Intent(android.provider.Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.getApplicationContext().startActivity(intent1);
}
}
问题很明显(实际上是经典的编程一:))-您没有将标志设置为新创建的intent1
,而是设置为作为参数传递的intent1
。所以你只需要把这个改成:
intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
然后它应该会起作用。
在我的程序中,我有一个当应用程序打开时启动的活动。如果我再打开几个活动,我怎么能回到主活动?在意图过滤器中,活动的名称是“android.intent.action.MAIN”,它不允许我在上面调用start Active()。我该怎么办?
当我从BroadCastReceiver启动活动时,会出现异常“从活动上下文外部调用startActivity(),需要标记_activity_NEW_TASK”。下面是我的接收代码 } 你可以看到,我已经设置了FLAG_ACTIVITY_NEW_TASK。我想指出另一件事。我从工作线程中的HTTP请求发送broadcastreceiver。代码最像这样: 有人遇到问题吗?任何帮助都很好。
我试图通过按cardview开始另一项活动,cardview有一个朋友查找id。但是当我写回家时。java它给了我setOnClickListener中的问题。在homeActivity中,它告诉我无法解析“homeActivity”中的方法“homeActivity”。因为
问题内容: 我遇到的问题是MainActivity中的onCreate()方法似乎无法启动另一个活动。 我的代码在工作,因此当我单击按钮时,“ AboutActivity”将启动。但是,我要这样做,以便MainActivity中的onCreate()完成后立即启动“ AboutActivity”。 尝试从onCreate()启动“ AboutActivity”时运行该程序时,该程序陷入了空白屏幕。
Logcat按摩 **从活动上下文外部调用startActivity()需要标志_Activity_NEW_TASK标志。这真的是你想要的吗?
我在使ActivityRecognitation服务保持运行时遇到问题。我目前有一个在后台连续运行的服务(GService)。我希望在GService中启动ActivityRecognitation服务,并让ActivityRecognitation服务将活动结果广播回GService。我能够启动服务并接收它正在运行的反馈,我还从意图处理程序获得一个结果(没有实际数据),但再也不会得到了。 以下是