Ran*_*ndy 12 android lockscreen android-activity
我在一个可以启动其他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();
}
});
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
如果没有先短暂显示锁屏,我该如何启动其他活动?
如何启动其他活动而不先短暂显示锁定屏幕?
实现此目的的一种更简单的方法是在启动之前运行一个虚拟(普通视图)活动activity-1
。这样,当您完成时activity-1
,dummy-activity
将接管,然后activity-2
进入前台。
您(很可能)还需要告诉系统不要提供窗口动画。通过将其添加到您的应用程序主题来做到这一点:
<item name="android:windowAnimationStyle">@null</item>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1390 次 |
最近记录: |