2013-06-13 2 views
1

Это моя проблема: У меня есть приложение, которое требует определенного приема (Write-SMS), которое, конечно же, будет работать только на телефонах. Теперь для приложения требуется разрешение для функции, которая будет отключена в версиях планшета, но она не позволит пользователям устанавливать приложение на планшеты.Различные версии приложений в одном APK

Я думаю, мой вопрос заключается в следующем:

  1. Могу ли я легко создать второй манифест для версии планшета, которая будет примерно такой же, как в телефонной версии, но без одаривать?

  2. Если я так делаю, есть способ проверить, какая версия манифеста используется? Возможно, мне захочется добавить функции к версии планшета, которые являются эксклюзивными для планшета и наоборот.

Все конечно preferibly в одном APK, который экспортируется и подписанная раз. Заранее спасибо за помощь!

ответ

3

Простой дополню:

<uses-feature android:name="android.hardware.telephony" android:required="false" /> 

В манифесте. Разрешение SMS автоматически запрашивает функцию телефонии. Добавление этого говорит андроиду, что, хотя вы просите эту функцию, вам это не нужно.

Обязательно добавьте проверку if-else, чтобы увидеть, можете ли вы воспринимать SMS с устройства, прежде чем делать это.

+0

Хорошо это является удивительным. Я не знал об этом! И Eclipse не удалось загрузить его в помощь по содержанию :(У меня уже есть проверка if-else на самой функции, которая уведомляет пользователя о том, что эта функция доступна на планшетах. В любом случае она работает на моем отладочном Nexus7;) – AreusAstarte

+0

@AreusAstarte Добро пожаловать! Вы можете узнать больше об этом [здесь] (http://developer.android.com/guide/topics/manifest/uses-feature-element.html) –

0

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

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