Я написал блог на Medium, чтобы реализовать режим киоска на Android Wear. Он полностью работает на Wear OS 2.X и на 90% на Wear OS 1.X. Пожалуйста, проверьте на Medium.
Шаги:
1: REORDER_TASKS: переупорядочить ваше приложение, чтобы оно было сверху в onPause приложения.
ActivityManager activityManager = (ActivityManager) getApplicationContext()
.getSystemService(Context.ACTIVITY_SERVICE);
activityManager.moveTaskToFront(getTaskId(), 0);
2: установить категории для активности в манифесте:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
3: переопределить функциональность кнопки
public boolean onKeyDown(int keyCode, KeyEvent event){
if (event.getRepeatCount() == 0) {
if (keyCode == KeyEvent.KEYCODE_STEM_1) {
// Do stuff
return true;
} else if (keyCode == KeyEvent.KEYCODE_STEM_2) {
// Do stuff
return true;
} else if (keyCode == KeyEvent.KEYCODE_STEM_3) {
// Do stuff
return true;
}
}
return super.onKeyDown(keyCode, event);
}
4: Отключите функцию смахивания, применив тему
<style name="AppTheme" parent="@android:style/Theme.DeviceDefault">
<item name="android:windowSwipeToDismiss">false</item>
</style>
5: Перезапустите приложение при загрузке
Примечание:
Эта функция неудобна для пользователя, и Android Play Store не одобрит ее, если у вас нет очень веской причины.
person
SANAT
schedule
07.06.2018