0

Как вы все могли бы знать, что Android L представила новую функцию, называемую режимом батареи. Я хочу, чтобы пользователь из моего приложения показывал это конкретное действие на странице «Настройки». Как я должен это делать?Android L Battery Saver Mode - startActivityforResult

т.д .: Для запуска «Использование данных о деятельности» в странице настроек, я делаю это

Intent i = new Intent(); 
i.setComponent(new ComponentName("com.android.settings", "com.android.settings.Settings$DataUsageSummaryActivity")); 
startActivityForResult(i, 0); 

Как я могу сделать что-то подобное для перехода на страницу спасателя батареи? Настройки -> Аккумулятор -> (Параметры сверху справа) -> Battery Saver

Благодаря

ответ

1
Intent battSaverIntent = new Intent(); 
battSaverIntent.setComponent(new ComponentName("com.android.settings", "com.android.settings.Settings$BatterySaverSettingsActivity")); 
startActivityForResult(battSaverIntent, 0); 

Это работало для меня.

Но имейте в виду, что эта строка с жестким кодом не от Android Settings, поэтому этот ярлык может измениться, я полагаю.

EDIT:

Теперь ACTION было сделано видимым в настройках Android (начиная с 22 уровня API). См. here.

Действие теперь называется ACTION_BATTERY_SAVER_SETTINGS

Но нужно учитывать, что не все телефоны имеют эту настройку, так что вам нужно guardcheck.

+0

Awesome Thanks. Последующий вопрос. Как вы думаете, мы можем изменить его программно? Какие-нибудь другие методы, чтобы сделать это? – user2453055

+0

Я думаю, вы должны использовать этот путь на данный момент. Но, похоже, что скоро будет использоваться предопределенное действие для этого (см. [Исходный код Android, строка 880] (https://android.googlesource.com/platform/frameworks/base/+/master/core /java/android/provider/Settings.java)) называется ACTION_BATTERY_SAVER_SETTINGS – maksim

+0

Спасибо. Что помогает – user2453055

 Смежные вопросы

  • Нет связанных вопросов^_^