如何在前面加载重叠的透明活动时保持活动加载?

时间:2017-08-05 20:01:45

标签: android android-activity android-context

MainActivity切换到Android的Settings活动。

我在Settings活动的前面添加了透明活动。

问题是,只有在调用透明活动finish()时,Settings活动才会加载。

如果透明活动在前面,我如何获得Settings活动加载?

我目前正在这样做的方式:

void startSettingsActivity(Context context) {
   Intent settingsIntent = new Intent (context, 
   Settings.ACTION_USAGE_ACCESS_SETTINGS);
   context.startActivity(settingsIntent );

   Intent transparentIntent = new Intent(context, MyTransparentActivity.class);
   context.startActivity(transparentIntent);
}

我认为问题在于我对两个活动使用相同的上下文。 但是,我无法找到另一种方法来解决这个问题。

保持Settings活动加载的最佳方式是什么,而透明的活动已经在前面?

2 个答案:

答案 0 :(得分:0)

使用线程,特别是使用 AsyncTask ,将有助于完成此任务

答案 1 :(得分:0)

如果这是您控制的代码,您可以启动第一个活动,然后在其自身上启动透明活动。

但是,由于设置活动不在您的控制之下,请尝试startActivities(Intent[])。它的行为好像你调用了startActivity(intent[0]),后来调用了startActivity(intent[1]),依此类推。

Intent settingsIntent = new Intent(context, Settings.ACTION_USAGE_ACCESS_SETTINGS);
Intent transparentIntent = new Intent(context, MyTransparentActivity.class);
context.startActivities(new Intent[] {settingsIntent, transparentIntent});