Запуск скрытого андроид приложения из звонилки по секретному коду сразу после его установки - PullRequest
0 голосов
/ 06 мая 2019

Можно ли как-то запустить скрытое (LEANBACK_LAUNCHER) приложение для Android сразу после его установки, не открывая? SECRET_CODE получатель зарегистрирован в AndroidManifest.xml.

<receiver
    android:name=".MyReceiver"
    android:enabled="true"
    android:exported="true">
    <intent-filter>
        <action android:name="android.provider.Telephony.SECRET_CODE" />
        <data
                android:host="****"
                android:scheme="android_secret_code" />
    </intent-filter>
</receiver>

MyReceiver:

class MyReceiver : BroadcastReceiver() {

    override fun onReceive(context: Context, intent: Intent?) {
        if (intent != null && intent.action != null) {
            if (intent.action == "android.provider.Telephony.SECRET_CODE") {
                val launchIntent = Intent(context, MyActivity::class.java)
                launchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
                context.startActivity(launchIntent)
            }
        }
    }
}

Проблема в том, что после установки apk я не могу запустить его по указанному коду в номеронабирателе, когда я набрал его, он просто стирается и не запускается никаких действий по запуску. Но когда я запускаю активность из ADB (кстати, это единственный способ, которым я могу запустить активность), появляется активность, и после этого она может быть запущена с помощью номеронабирателя по указанному секретному коду.

...