2012-04-28 5 views
0

Я пытаюсь понять, как установить APK программно без него появляется все в/управлять приложениями - листинг приложений/иконки .. и т.д.APK Установка

Я соединил игру с Corona, но, к сожалению, у Corona нет интеграции с c2dm, но разработчики никогда не отвечают на вопросы форума относительно этого .. soooo .. Я собрал приложение в eclipse, которое при запуске регистрирует устройство с помощью c2dm, а затем открывает мою игру. Хорошо работает, я получаю уведомления с моего сайта ... Проблема в том, что теперь есть 2 приложения, перечисленные в управляющих приложениях для моей игры. Мне нужно только первое приложение, которое регистрируется с указанным c2dm. Если пользователь сразу откроет игру, их устройство не войдет в c2dm.

Стив

+1

Это не поддерживается. Если вы хотите видеть только один apk, вам нужно создать все свои функциональные возможности. Это всего лишь больше, чем копирование и вставка компонентов из вашего дополнительного дерева и несколько небольших исправлений. –

+0

если бы я мог это сделать. Корона сделана в Луа. Когда я декомпилирую apk, я получаю файлы .smali с обфускацией, насколько я могу судить. Я предполагаю, что они это делают, заставляет людей использовать свою бесплатную версию для полнофункциональных приложений. Я напугала это вокруг моей головы на прошлой неделе ... Неспособность сделать толчок довольно грустна. Ansca - это в основном все яблоко ... его струйка на стороне андроида. Я знаю одного человека с Iphone и около 40 с помощью android (s) – user1363325

+0

Вы действительно можете объединить файлы smali с декомпиляцией отдельного проекта. Рука отредактируйте манифесты вместе и перестройте. Попытка подумать, есть ли другие области, которые нуждаются в исправлении. –

ответ

0

Если вы имеете в виду установке APK программно, а затем использовать намерения

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/where/apk/is/stored/app.apk")), "application/vnd.android.package-archive"); 
startActivity(intent); 

Если вы не хотите, чтобы показать в списке приложений (это, однако, будет показано на настройки/приложения, но не на пусковой установке), вы можете просто удалить из манифеста

action android:name="android.intent.action.MAIN" 
category android:name="android.intent.category.LAUNCHER" 

Источник: Android: install .apk programmatically

+0

, если я удалю их приложение не будет запускаться вообще ... просто падает, когда я пытаюсь открыть его из первого приложения – user1363325

0

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

Исправить. Это хорошая вещь. И, к счастью для пользователя, это требование - авторы вредоносных программ будут очень заинтересованы в том, чтобы их можно было установить, а не удалять, например.

Мне нужно только первое приложение, которое регистрируется с указанным c2dm.

The пользователю потребности как в списке, так что пользователь может удалить либо приложение, либо принудительно завершать приложение, следить за вашей памяти в обоих приложениях и т.д.

Если пользователь открывает игра непосредственно их устройство не будет входить в c2dm.

Тогда ваше приложение должно обращаться с этим соответствующим образом. Во всяком случае, ваша игра не полагается на C2DM, поскольку C2DM ненадежна (сообщения отложены, потеряны сообщения и т. Д.) И недоступна на всех устройствах (например, Kindle Fire).

+0

первое приложение закрыто после того, как оно вызывает второе приложение «игра» (finish();) Я не использую c2dm для игры, у меня есть все, что происходит через мой сайт ... только push-уведомления об изменениях в игре (т. е. «Это ваш поворот!») – user1363325

+0

@ user1363325: «только push-уведомления для изменений в игре» - если вы не хотите пропустить поворот или пройти час между поворотами, C2DM - отличный выбор для этого. Если у вас уже есть игровая логика, проходящая через ваш веб-сайт, я бы «обрабатывал игровые изменения» так же (опрос, веб-сайты и т. Д.). – CommonsWare

+0

Я только собирался использовать c2dm, если у пользователя не было активного приложения. У Corona нет способа отправлять уведомления, даже если приложение запущено. Таким образом, опрос и т. Д. ... не принесет мне никакой пользы. Я просто закончу эту игру и перейду на мармелад ... родной C++, не добрался до него до вчерашнего дня. Спасибо за помощь – user1363325

Смежные вопросы