2014-10-11 9 views
1

Я хочу использовать поддержку нескольких APK в Android для создания 2 разных APK.Как сделать несколько APK на основе использования -функций «android.hardware.telephony» в Android?

  • Один APK для устройств, поддерживающих «PHONE CALL & SMS».
  • Другие APK для устройств, которые не поддерживают «PHONE CALL & SMS».

    Остальные функции являются общими для обоих APK.

Я достиг первого APK, когда я держать нужную опцию & разрешения в Manifest.xml.

<uses-feature android:name="android.hardware.telephony" android:required="true"/> 
<uses-permission android:name="android.permission.SEND_SMS"/> 

Я попытался создать другой APK для устройств, которые не должны иметь «телефонный звонок & SMS» функцию со следующими Manifest изменениями.

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

Но, мне это не удалось. Может кто-нибудь, пожалуйста, дайте мне знать, как достичь этого.

Заранее спасибо.

ответ

3

Нет необходимости создавать несколько APK.

Если вы используете:

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

Ваш APK будет доступен для устройств, поддерживающих эту функцию, а также для устройства, которое не поддерживает его. Просто в вашей проверки кода, если экземпляр адаптера телефонии является нулевым или нет:

hasSystemFeature(PackageManager.FEATURE_TELEPHONY) 

или

getPhoneType() 
+1

Да, с или без этой функции результат является то же самое. Но когда я дал «», все устройства, которые не имеют функции телефонии, были удалены. Мне нужно это разрешение для отправки SMS, и такое же не может быть применено во время выполнения. Поэтому мне нужно как-то справиться с этим. – Andhravaala

+0

'' не должен заставлять телефонию, так как это просто строка, которая должна соответствовать, если вы используете функцию телефонии. В любом случае, я думаю, что вы можете добавлять разрешения с помощью кода с PackageManager программно. –