#android #add-on
#Android #надстройка
Вопрос:
У меня есть приложение mini piano для Android, которое я хотел бы расширить загружаемыми дополнениями. У меня, например, был бы набор звуков grandpiano в виде отдельного устанавливаемого пакета.
Я вижу некоторые приложения, у которых есть дополнения (например, Библия NIV, которые добавляют разные издания Библии). Я хотел бы знать, как я мог бы интегрировать отдельную надстройку apk в свою основную программу. Как я могу получить к ним доступ? Что мне нужно сделать, чтобы интегрировать эти дополнения? И т.д.
Какие-либо указания?
Примеры
В маркете NIV bible есть несколько надстроек, которые вы можете загрузить с помощью маркета. Похоже, что они действительно используют данные, содержащиеся в их пакетах.
Кроме того, я знаю, что Ruboto использует пакет с ядром ruboto, который содержит материал JRuby, который устанавливается один раз, и все пакеты Ruboto полагаются на него, поэтому это должно быть возможно
Ответ №1:
Я узнал, что можно получить доступ к ресурсам других APK. Я не знаю, ограничено ли это приложениями с одинаковой подписью, это не то, что я пробовал. Я знаю, что вы можете получить доступ к коду другого apk, поскольку это то, что ruboto делает с пакетом ruboto-core.
Для доступа к ресурсам из другого установленного APK:
//Get the other apk's resources
Resources resources = context.getPackageManager().getResourcesForApplication(
"package.name.goes.here");
//Then you need to get the ResID
int resID = resources.getIdentifier(
"name_goes_here", "string(or other type like raw)", packageName);
//Open stringResource
String resourceString = resources.getString(resID);
Это также работает с необработанными ресурсами!