活动之间显示锁屏

我在一个可以启动其他Android应用程序的自助服务终端应用程序上工作。 它运行在锁屏顶部。 我看到的问题是在活动之间短暂显示锁屏。 我们必须锁定平板电脑,因此解锁不是一种选择。

我已经能够用一个超级简单的案例重现这一点。 这两项活动几乎相同。 该应用程序是设备管理员,可以显示在键盘锁上方。 我也尝试过根本不使用finish()但是没有解决问题。

 public class MainActivity extends Activity { private Handler h = new Handler(); @Override protected void onCreate(Bundle savedInstanceState) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN); getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button bneg1 = (Button) findViewById(R.id.bneg1); bneg1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { h.post(new Runnable() { @Override public void run() { Intent i = new Intent(MainActivity.this, SecondActivity.class); startActivity(i); finish(); } }); } }); } } 

如果没有先短暂显示锁屏,我该如何启动其他活动?

如果没有先短暂显示锁屏,我该如何启动其他活动?

实现此目标的更简单方法是在启动activity-1之前运行虚拟(纯视图)活动。 这样,当你完成activity-1dummy-activity将接管,然后activity-2进入前台。

您(很可能)还需要告诉系统不要提供窗口animation。 通过将此添加到您的应用程序主题来这样做:

 @null