• Home
  • About
  • My Apps
    • AnReboot
    • BlitzDroid
    • SavePoint
    • Javelt
    • TagihanListrik
    • TagihanTelkom
    • CekTagihan
    • Komodonesia
    • Indonesia FlightBoard
    • Indonesia Soccer
  • Projects
    • GStaticMap WP Plugin
  • Contact
  • Privacy Policy

LORENZ BLOG

All About Web & Mobile Application Development

  • Featured Articles
  • Gadgets
    • Android
    • Blackberry
  • Programming
    • Android
    • PHP
    • Java Script
    • MySQL
    • Postgresql
    • Flex
    • Web
  • Software
    • Mac OS
    • Windows
    • Linux
  • Web
You are Here » Home >> Information Technology >> Programming >> Android >> Solution to Make an Android App Visible to All Devices in Google Play When Using Specific Feature

Solution to Make an Android App Visible to All Devices in Google Play When Using Specific Feature

February 11, 2014 by Lorensius Londa Leave a Comment

As we know, Google Play filters android applications that are visible to user by comparing features that required by the application with the features available on the device. Android requires specific tags to be declared on manifest file when using a  specific feature. Commonly use tags are <uses-permission> and <uses-feature>. But improperly use of these tags could make our application  only visible to a small range of devices though it was intended to reach out a large range of devices.

For example, if we use phone call feature in our application , it requires <uses-permission android:name=”android.permission.CALL_PHONE”/> to be explicitly declared in manifest file. By using this <uses-permission> tag, Google Play will only show our application to devices that have phone feature, it will not be visible to most of tablet devices that do not have phone feature. This problem happened on some of my applications. I was so confused why so many users complained that they could not find my applications on Google Play Store. 

After comprehensive searching and reading on android sdk documentation, i found that properly use of <uses-feature> tag and <uses-permission> tag can easily solve the problem. The key is by declaring the <uses-feature> tag with android:required=”false” . So, from our case, to enable phone call feature:

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

As we can see, we have to explicitly declare the phone feature by using <uses-feature android:name=”android.hardware.telephony” android:required=”false”>. android:required=”false” tells the Google Play to disable filtering based on phone feature support, for all devices.

Remember we have to check manually the avaiability of  the feature before using it. Use PackageManager’s hasSystemFeature(String feature) to check the feature availability.

PackageManager packageManager = getPackageManager();
String phoneNumber = "124567";

if (packageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) {
   //call phone
   Intent intent = new Intent(Intent.ACTION_CALL);

  intent.setData(Uri.parse("tel:" + phoneNumber));

  startActivity(intent);
}

Facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

Related posts:

  1. How to Use Multi-User Feature in Android Jelly Bean
  2. Google Wallet Merchant Registration Available in Additional Countries
  3. How to Send Message to Google Cloud Messaging (GCM) Server Using JSON and PHP
  4. How to Setup Gmail 2-Step Verification With Android

Filed Under: Android Tagged With: Android, google play, uses feature, uses permission

About Lorensius Londa

Passionate web and mobile application developer. Co-founder of TRUSTUDIO, loves programming, Android, aviation, travelling, photography, coffee and gym mania.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

 

About Me

Passionate web and mobile application developer. Co-founder of TRUSTUDIO, loves programming, Android, aviation, travelling, photography, coffee and gym mania. Read More…

  • Facebook
  • Github
  • Google+
  • Instagram
  • Twitter
  • YouTube

Featured Articles

How to Setup MQTT Server Using Mosquitto and Libwebsocket on Freebsd

Blue Bamboo P25 Printer Android Demo Application With Source Code

Simple JSON RPC Client for Android

How to Send Message to Google Cloud Messaging (GCM) Server Using JSON and PHP

Recent Comments

  • mang jojot on About
  • Hussain on How to Programmatically Scan or Discover Android Bluetooth Devices
  • Kiran Ahuja on How to Programmatically Pair or Unpair Android Bluetooth Device
  • Edwin Alvaradko on How to Make Android Map Scrollable Inside a ScrollView Layout

Recent Posts

  • How to Programmatically Restart the ESP32 Board
  • How to Get Hardware Info of ESP32
  • How to Setup MQTT Server Using Mosquitto and Libwebsocket on Freebsd
  • Eclipse Issue on Os X Yosemite – To open “Eclipse” you need to install the legacy Java SE 6 runtime

Latest Tweets

  • I just finished running 17.47 km in 2h:02m:15s with #Endomondo #endorphins https://t.co/o9yGIgPHaE2 days ago
  • I just finished 30m:12s of doing weight training with #Endomondo #endorphins https://t.co/txngjOsl9v4 days ago

Copyright © 2019 · Londatiga.Net . All Rights Reserved