2015-07-04 5 views
0

У меня есть приложение для Android, работающее на планшете, который только что был обновлен до 5.0.2 (благодаря щедрости Google). До того, как он был обновлен (4.4), он имел ту же проблему. Так что это не относится к леденец.Приложение не запускается по умолчанию в учетной записи с ограниченным доступом

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

У меня есть фильтры намерений в MainActivity:

<intent-filter> 
    <action android:name="android.intent.action.BOOT_COMPLETED"/> 
    <action android:name="android.intent.action.MAIN"/> 
    <category android:name="android.intent.category.HOME"/> 
    <category android:name="android.intent.category.DEFAULT"/> 
    <category android:name="android.intent.category.LAUNCHER"/> 
</intent-filter> 

Когда я запустить приложение на пользователя с правами администратора, он запускает с приложением. Когда я пытаюсь перейти из приложения, он дает мне возможность открыть домашнюю страницу в качестве приложения или в качестве главной страницы планшета с параметрами один раз или всегда. Это работает.

Однако, когда я запускаю приложение в учетной записи с ограниченным доступом, он никогда не запускается с приложением, и нет возможности (очевидно, поскольку я его ограничил), чтобы установить его как значение по умолчанию.

Я попытался настроить приложение для запуска всегда в учетной записи администратора, не имеет значения. Есть ли способ преодолеть это? Я бы предпочел решение, применимое к 4.3 или 4.4, а не только к леденец.

Спасибо.

+0

связанные с этим ответом http://stackoverflow.com/a/2071230/3956566 –

ответ

0

Я решил.

Я пошел в ограниченную учетную запись пользователя и очистил настройки по умолчанию для домашней страницы. Затем был представлен вариант использования приложения по умолчанию, всегда или один раз, как для пользователя admin.

Затем я зафиксировал событие onBackPressed.

@Override 
public void onBackPressed() { 
    startActivity(new Intent(this, MainActivity.class)); 
} 

Таким образом, пользователь может перемещаться только между приложением и настройками, если только они не хотят очистить настройки по умолчанию.

Это хорошо работает, чтобы создать устройство, которое будет работать только для определенных приложений, для элементов управления устройствами, за исключением того, что мне нужно обойти пользователя при удалении приложения. Несмотря на то, что пользователь может изменить значение по умолчанию, ограниченные пользовательские настройки не позволяют пользователю использовать какие-либо другие функции устройства.

Так что теперь, чтобы выяснить, как помешать пользователю удалить приложение и по умолчанию ..