我制作了一个简单的应用程序,需要(是的,它确实需要)显示沉浸式警告。我通过从服务启动活动来实现这一点。大部分时间它都能正确显示,但有时当可穿戴设备处于空闲状态时,它不会显示。 onStart() 和 onResume() 都会运行,但视图不会显示在屏幕上。有什么想法吗?(这是在 Android Gear Live 上从 I/O 进行的操作)。它由以下服务触发:
Intent i = new Intent(MyService.this, MyActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.setAction("disconnected");
startActivity(i);
一些活动的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("MyActivity", "onCreate");
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON|
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON|
WindowManager.LayoutParams.FLAG_FULLSCREEN |
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD|
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
setContentView(R.layout.activity);
disconnectedView = (TextView)findViewById(R.id.disconnectedView);
}
@Override
protected void onStart() {
super.onStart();
Log.d("MyActivity", "onStart");
}
@Override
protected void onResume() {
// Corrected after comment from MikeC
//super.onStart();
super.onResume();
Log.d("MyActivity", "onResume");
if (getIntent().getAction() != null && getIntent().getAction().equals("disconnected"))
startVibration();
}