Поддержка устройств Android с телефоном и без возможностей телефона - PullRequest
2 голосов
/ 14 марта 2011

У меня есть приложение, которое будет работать на устройствах, которые имеют телефонные возможности и которые не имеют. Вот некоторые из моих запросов:

1) Смогу ли я поддерживать оба типа устройств. 2) Для устройств, которые имеют телефонные возможности, мне нужно включить функцию вызова. и устройство, которое не имеет возможностей телефона, я отключу функцию вызова.

Мне не очень понятны концепции и , есть ли способ указать телефон

Ответы [ 2 ]

13 голосов
/ 14 марта 2011

Если вы не распространяете свое приложение через Маркет и не заботитесь о соблюдении рекомендуемых правил, вам понадобятся теги <uses-permission> только для любых разрешений, которые использует приложение.Тем не менее, чтобы разрешить нужным устройствам доступ к приложению через Маркет, вам понадобятся теги <uses-permission> и <uses-feature>.

<uses-permission> - это запрос, чтобы дать вашему приложению полномочия принимать определенныевид действия.При подготовке к установке приложения пользователь может просмотреть запрошенные разрешения и решить, следует ли продолжить установку.Если приложение, например, пытается сделать телефонный звонок без объявления разрешения «android.permission.CALL_PHONE», то попытка не удастся.См. здесь для списка разрешений базовой платформы.

<uses-permission> также используется Маркетом для неявных требований к функциям.Если ваше приложение использует разрешение, которое требует аппаратного обеспечения телефонии, то Маркет предположит, что требуется аппаратное обеспечение телефонии, и приложение не будет доступно для устройства, на котором отсутствует аппаратное обеспечение телефонии.

<uses-feature> можно использовать для информированияМаркет или что определенная функция требуется или что функция желательна, но не обязательна .Тег переопределит все функции, подразумеваемые <uses-permission>.Например, если вы укажете <uses-feature android:name="android.hardware.telephony" android:required="false" />, то телефония не требуется, независимо от того, какие разрешения запрашиваются.

Чтобы увидеть, как <uses-permission> и <uses-feature> взаимодействуют для созданияФильтры рынка см. здесь .

Чтобы проверить во время выполнения, доступна ли функция, похоже, что вы можете использовать PackageManager.hasSystemFeature () :

Context context;    // Some object, such as Activity, that extends Context
// ...
boolean hasTelephony = context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY);
if (hasTelephony) {
    // ...
}
else {
    // ...
}
0 голосов
/ 14 марта 2011

Ну, я не знаю о действительно простом способе сделать это, но вы можете использовать метод ниже, чтобы получить номер телефона телефона, и если он возвращает ноль, это, вероятно, означает, что функции телефона недоступны иэто планшет или что-то в этом роде (микроволновая печь с питанием от Android?)Удачи:)

...