2014-10-25 4 views
4

На новом Android 5.0 Lollipop добавлена ​​новая настройка в настройках разработчика «Использовать NuPlayer (бета)». Мое приложение иногда не работает, когда этот параметр включен. Я боюсь, когда новая версия Android будет выпущена для публики, многие люди включили бы ее и имели бы проблемы с моим приложением, не зная, что не так.Получить настройку NuPlayer на Android 5.0

Поэтому я хотел отобразить предупреждающее сообщение об этом, только если на устройстве установлен параметр NuPlayer. Я попытался найти его в документации Android, но я не мог найти, как получить доступ к статусу этой новой настройки.

Вопрос в том, что, как я могу проверить значение этого параметра программно?

Благодаря

+0

С NuPlayer будет по умолчанию (насколько я знаю), следует ли вместо этого рассмотреть вопрос об ошибке, связанной с проблемой? – harism

+1

Трудно реплицировать ошибку, это происходит с .webm-файлами, и не всегда. Я использую NuPlayer в течение нескольких дней просто отлично, и неожиданно вчера, когда воспроизводимые видео показывали зеленый шум по всему видео. Это также происходит не только в моем приложении, но также и в Google Chrome, вложенном в видео, и это произошло не только со мной, но и с некоторыми другими пользователями моего приложения, у которых установлен 5.0. Я предполагаю, что эта ошибка уже была зарегистрирована, поэтому сейчас я хочу просто проверить настройку и предупредить об этом, так как я сомневаюсь, что она будет исправлена ​​до релиза. – Synx

+0

Я вижу, к сожалению, я понятия не имею, можно ли прочитать эту настройку. Но вместо этого попросите вас подать вопрос о таком поведении. По крайней мере, я не обнаружил ошибок, даже почти связанных с тем, что вы испытываете - и AFAIK NuPlayer был включен только с предварительного просмотра L, так что до сих пор это довольно крошечная пользовательская база (если сравнивать со всеми устройствами Android, чтобы воспользоваться). – harism

ответ

5

Я кросс-постинг мой ответ здесь по запросу:

Prevent my audio app using NuPlayer on Android Lollipop 5.x?

Итак, я, наконец, нашел способ безопасного обнаружения Wether или не NuPlayer будет использоваться или нет на Lollipop. Похоже, лучшая стратегия заключается в том, чтобы сообщить пользователю открыть настройки разработчика и включить AwesomePlayer, пока Google не установит NuPlayer. К сожалению, нет хорошего способа изменить этот параметр для пользователя, мы можем просто прочитать его значение, если вы не подписаны как системное приложение.

Этот подход проверяет значения свойств системы Android, чтобы узнать, разрешил ли пользователь использование AwesomePlayer или нет в настройках разработчика. Поскольку Lollipop имеет NuPlayer по умолчанию, если это значение отключено, мы знаем, что NuPlayer будет использоваться.

Оставьте SystemProperties.java в своем проекте для доступа к свойствам системы, не изменяйте его название пакета от android.os (он обращается к соответствующим JNI-методам, поэтому он должен оставаться неизменным).

Теперь вы можете проверить, если телефон Lollipop/5,0, если AwesomePlayer включена, и действовать соответствующим образом, если это не (например, открыв Настройки разработчика):

public void openDeveloperSettingsIfAwesomePlayerNotActivated(final Context context) { 
    final boolean useAwesome = SystemProperties.getBoolean("persist.sys.media.use-awesome", false); 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && !useAwesome) { 
     final Intent intent = new Intent(Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS); 
     context.startActivity(intent);     
    } 
} 
+0

Хорошо, я обновляю свой ответ. –

+0

Отметьте его как действительный ответ, поскольку пока это единственное решение. – Synx

+0

Спасибо, Сикс, боюсь. Надеюсь, Google может предоставить дальнейшее/лучшее решение для этого. –

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