У меня есть активность, которая действует как домашний экран. Мой вопрос в том, как я могу программным образом спросить пользователя, какой домашний экран хочет быть по умолчанию? Я не хочу, чтобы мой домашний экран был по умолчанию, но чтобы показать пользователю диалоговое окно, чтобы выбрать главный экран, который он хочет.Как отключить стандартный экран по умолчанию программно?
ответ
Мой ответ: как я могу программным образом спросить пользователя, какой домашний экран хочет быть по умолчанию?
Единственный способ сделать это, чтобы вызвать домашний экран, чтобы появиться, начав деятельность ACTION_MAIN
/CATEGORY_HOME
. Если есть выбор, между вашим начальным экраном, основным экраном устройства по умолчанию и другими, пользователь получит выборщик и сможет выбрать, какой домашний экран будет отображаться. Они также установят флажок «сделать это по умолчанию для этого действия». Однако это также приводит к тому, что пользователь переходит к выбранному начальному экрану, и им не нужно устанавливать значение по умолчанию.
Моя рекомендация будет для вас оставить это в покое. Во всяком случае, они увидят этот выбор в следующий раз, когда они нажимают кнопку HOME, и тогда они ожидают выхода на выбранный ими домашний экран.
Спасибо, и я знаю, что вы имеете в виду. Я хочу, чтобы у пользователя был выбор, чтобы изменить начальный экран по умолчанию и попросил новый по умолчанию, например, когда он нажимает кнопку в моем приложении. Я хочу очистить экран по умолчанию. Когда пользователь выбирает мой домашний экран по умолчанию, я могу очистить его с помощью packagemanager и clearPackagePreferredActivities(), но когда главный экран по умолчанию - другой, я не могу. – androidGR
@androidGR: «например, когда он нажимает кнопку в моем приложении. Я хочу очистить экран по умолчанию» - это невозможно. «но когда главный экран по умолчанию - другой, я не могу» - исправить. – CommonsWare