Несколько APK - звонить
Если у меня есть приложение, которое должно совершать звонки, и я хочу сделать другую версию, которая его не использует (чтобы оно работало только на планшетах с Wi-Fi, а также, конечно, чтобы пользователи могли устанавливать его с маркета), как я могу это сделать??
Поддержка нескольких APK в Android Market мне не поможет, так как она позволяет использовать несколько APK S, если они имеют одно из следующих значений:
- Форматы сжатия текстур OpenGL
- Размер экрана (и, необязательно, плотность экрана)
- Уровень API
Нужно ли мне иметь 2 разных приложения?! (Это глупее).
Могу ли я справиться с проблемой / рынком, скомпилировав против двух разных API (2.0: для приложения без разрешений для телефона и 2.1 для приложения с разрешениями для телефона), но установив minVersion для 1.6, чтобы они оба работали на одних и тех же устройствах?
Даже если он примет это.. рынок покажет правильную версию для устройств?
2 ответа
Если вы хотите поддерживать звонки, но не хотите, чтобы устройства без звонков были исключены, вам не нужно иметь два APK.
Просто добавьте эту строку в свой манифест:
<uses-feature android:name="android.hardware.telephony" android:required="false" />
Это будет означать, что приложение будет использовать телефонию, если она доступна.
Вопрос очень общий, поскольку вы не указываете, какие части вашего приложения должны выполнять вызовы.
В качестве предложения вы можете избежать связи с модулем вызовов, выполнив следующие действия:
PackageManager pm = root.getContext().getPackageManager();
boolean telefon = pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY);
Если значение telefon равно false, приложение не поддерживает телефонные звонки, поэтому не следует показывать вызывающий модуль.