Намерение не доступно из приложения - PullRequest
0 голосов
/ 28 августа 2018

У меня есть намерение com.amazon.tv.settings/.hud.HudActivity, которое я могу запустить через adb, используя adb shell am start -n "com.amazon.tv.settings/.hud.HudActivity" на Amazon Fire TV v3. Однако, когда я запускаю то же самое намерение через код:

getApplicationContext().startActivity(new Intent("com.amazon.tv.settings/.hud.HudActivity"));

Невозможно найти действие, вызывающее ошибку:

E/AndroidRuntime: FATAL EXCEPTION: Timer-0
                  Process: com.baronkiko.launcherhijack, PID: 23262
                  android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.amazon.tv.settings/.hud.HudActivity }
                      at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1809)
                      at android.app.Instrumentation.execStartActivity(Instrumentation.java:1523)
                      at android.app.ContextImpl.startActivity(ContextImpl.java:820)
                      at android.app.ContextImpl.startActivity(ContextImpl.java:797)
                      at android.content.ContextWrapper.startActivity(ContextWrapper.java:356)
                      at com.baronkiko.launcherhijack.AccServ$1.run(AccServ.java:111)
                      at java.util.TimerThread.mainLoop(Timer.java:555)
                      at java.util.TimerThread.run(Timer.java:505)

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

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

Вы можете использовать следующий код для создания соответствующего намерения:

getApplicationContext().getPackageManager().getLaunchIntentForPackage("com.amazon.tv.settings/.hud.HudActivity");
0 голосов
/ 28 августа 2018

Пожалуйста, попробуйте это:

    Intent intent=new Intent();
    intent.setComponent(new ComponentName("com.amazon.tv.settings", "com.amazon.tv.settings.hud.HudActivity"));
    getApplicationContext().startActivity(intent);

Когда вы звоните

new Intent("com.amazon.tv.settings/.hud.HudActivity")

"com.amazon.tv.settings / .hud.HudActivity" рассматривается как действие, а не имя класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...