Хорошо. Хотя кажется странным разрешить создание ярлыка таким образом и не иметь более точного контроля над тем, где он будет записан. Я не вижу в этом полезности. Спасибо за ваш ответ, хотя. Мне придется попробовать другой подход.
тоящее время я работаю над приложением для Android, после чего программно пишу ярлык на домашний экран. Что-то вроде этого:
Intent shortcutIntent = new Intent();
shortcutIntent.setClassName(ai.packageName, ai.name);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
shortcutIntent.addCategory(Intent.ACTION_PICK_ACTIVITY);
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, appName);
BitmapDrawable bd=(BitmapDrawable)(res.get(app_id).activityInfo.loadIcon(p).getCurrent());
Bitmap newbit;
newbit=bd.getBitmap();
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, newbit);
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
context.sendBroadcast(intent);
(на самом деле это был пост StackOverflow, который указал мне на это решение).
В любом случае, когда я запускаю приложение в эмуляторе, ярлык записывается на пятую страницу слева (на главном экране 2.3). Последующий запуск записывает ярлык на 4-й странице слева на главном экране.
У меня такой вопрос: есть ли способ записать ярлык на центральную страницу или первую страницу (например, передать индексы для двумерного массива, который, кажется, содержит ярлыки приложения)? я что-то упустил в API?
Спасибо!