Как установить приложение для Android в качестве владельца устройства - PullRequest
0 голосов
/ 18 июня 2019

Я занимаюсь разработкой приложения для Android в Android Studio на Android 5.1 (это приложение для конкретного планшета).Мне нужно, чтобы мое приложение было владельцем устройства, и оно должно работать в режиме киоска.Я уже установил владельца устройства с помощью:Студийная оболочка.Я уже использовал в своем коде: Runtime.getRuntime (). Exec ("adb shell dpm set-device-owner com.foo.deviceowner / .DeviceAdminRcvr");но это не сработало.( Как сделать владельца моего приложения устройством без команды оболочки NFC и ADB )

Мой второй вопрос: Когда приложение прикреплено к экрану, панель навигации по-прежнему отображается (только с кнопкой возврата), которые показывают тост).Можно ли отключить отображение этой панели?

И мой последний вопрос: я хочу, чтобы мое приложение запускалось при запуске устройства.Я добавил:

<category android:name="android.intent.category.HOME"/>

в свою активность и реализовал BroadcastReceiver.При первом запуске моего приложения Android просит выбрать домашнее приложение.Есть ли способ установить приложение в качестве домашнего приложения, не спрашивая пользователя?

С наилучшими пожеланиями

1 Ответ

0 голосов
/ 18 июня 2019

Вы должны использовать класс DeviceAdminReceiver в своем приложении, например,

class AdminReceiver : DeviceAdminReceiver() {
    companion object {
        private const val TAG = "AdminReceiver"

        fun getComponentName(context: Context): ComponentName =
                 ComponentName(context.applicationContext, AdminReceiver::class.java)
    }

    override fun onEnabled(context: Context?, intent: Intent?) {
         Log.i(TAG, "Enabled")
         showLongToast(context!!, R.string.app_enable)

         MainActivity.launch(context)

         super.onEnabled(context, intent)
    }

     override fun onDisabled(context: Context?, intent: Intent?) {
         Log.i(TAG, "Disabled")
         showLongToast(context!!, R.string.app_enable)
         super.onDisabled(context, intent)
    }
 }

Полный пример вы можете увидеть в моем репозитории https://github.com/ArtemBotnev/AdminApp/blob/master/app/src/main/java/ru/rs/adminapp/AdminReceiver.kt

...