【发布时间】:2014-04-18 20:16:49
【问题描述】:
我正在开发一个可以启动其他 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();
}
});
}
});
}
}
如何在不先短暂显示锁屏的情况下启动其他活动?
【问题讨论】:
-
您是否尝试过 FLAG_ACTIVITY_NO_ANIMATION,在 startActivity() 之后使用 overridePendingTransition(0, 0)。这可以防止新活动“滑入”,而是立即启动它们。不确定它是否是修复程序,但值得一看。
-
我试过了。它似乎没有任何区别。
标签: android android-activity lockscreen