У меня есть приложение, которое создает ярлык следующим образом:
Intent shortcutIntent = new Intent(this, MYWEBVIEW.class);
String fileHtml = trovaHtml(path);
shortcutIntent.putExtra("appToLaunch", appId);
shortcutIntent.putExtra("fileHtml", fileHtml);
shortcutIntent.setAction(Intent.ACTION_VIEW);
Intent addIntent = new Intent();
addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, dirAppName);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
Intent.ShortcutIconResource.fromContext(this, R.drawable.icon));
addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
this.sendBroadcast(addIntent);
Я знаю, что этот код устарел, но давайте забудем об этом .......
MYWEBVIEW не является основной деятельностью моего приложения, это веб-просмотр, который открывает автономную HTML-страницу, и путь к этому HTML-файлу находится внутри дополнительного значения "fileHtml".
Когда я нажимаю на ярлык, я получаю эту ошибку:
08-08 14: 15: 37.907: ОШИБКА / Панель запуска (165): Программа запуска не имеет разрешения на запуск Intent {act = android.intent.action.VIEW flg = 0x10000000 cmp = market.finestraprincipale / .MyAppActivity bnds = [3,217] [77,296] (есть дополнения)}. Убедитесь, что вы создали ГЛАВНЫЙ интент-фильтр для соответствующего действия или использовали экспортированный атрибут для этого действия. tag = ShortcutInfo (title = myFile) intent = Intent {act = android.intent.action.VIEW flg = 0x10000000 cmp = market.finestraprincipale / .MYWEBVIEW bnds = [3 217] [77 296] (имеет дополнительные функции)}
08-08 14: 15: 37.907: ОШИБКА / Средство запуска (165): java.lang.SecurityException: Отказ в разрешении: начало намерения {act = android.intent.action.VIEW flg = 0x10000000 cmp = market.finestraprincipale /. MYWEBVIEW bnds = [3,217] [77,296] (имеет дополнительные функции)} из ProcessRecord {405875c8 165: com.android.launcher / 10026} (pid = 165, uid = 10026) требует нуля
Как я могу исправить эти ошибки? Есть ли способ создать два экземпляра одного и того же приложения?
Например, я нахожусь внутри своего приложения, я создаю ярлык, я нажимаю кнопку «Домой», чтобы приложение переходило в фоновый режим, и когда я нажимаю на ярлык, я запускаю действие MYWEBVIEW, но внутри нового экземпляра моего приложения .... в общем, я могу одновременно открывать больше веб-просмотров.