Skip to main content

Retrive Platform information for android device programatically

There are some useful methods to retrieve the platform related information of the device programmatic ally

 Method to get the manufacturer of the device


     /**
     * Get the Manufacturer of the Device
     * @return String
     */
    public String getManufacurer(){
        return android.os.Build.MANUFACTURER;
    } 


 Method to get the device model

    /**
     *  Get the Model of the Device
     * @return String
     */
    public String getModel(){
        return android.os.Build.MODEL;
    }


  Method  to get the OS build number 

    /**
     * Get the Build Number of the OS
     * @return String
     */
    public String getOSBuildNumber(){
        return android.os.Build.DISPLAY;
    }
    

Using Telephony Manager:-

TelephonyManager mTelephonyMgr = null;

You do not instantiate this class directly; you can retrieve a reference to an instance through

mTelephonyMgr = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);

Method to get the phone type of the android device

    /**
     * Get the device type
     * @return String
     */
    public int getDeviceType(){
        return mTelephonyMgr.getPhoneType();
    }

this will return you a constant value one of the following,

  • TelephonyManager.PHONE_TYPE_NONE
  • TelephonyManager.PHONE_TYPE_GSM
  • TelephonyManager.PHONE_TYPE_CDMA

 

Method to get IMEI Number of the device 

      /**
     * get IMEI number of the device
     * @return String
     * Requires Permission: READ_PHONE_STATE
     */
    public String getIMEI(){
        return mTelephonyMgr.getDeviceId();
    }

This will return you a unique device ID.

Method to get IMSI Number of the device

    /**
      * get IMSI number
     * @return String
     * Requires Permission: READ_PHONE_STATE
     */
    public String getIMSI(){
        return mTelephonyMgr.getSubscriberId();
    }

Method to get the MSISDN Number of the Device-

 /**
     * MSISDNdepends on the SIM, some times can return null or empty string
     * @return String
     */

    public String getMSISDN(){
        return mTelephonyMgr.getLine1Number();
    }  
  

Other Useful Methods - 


Method to get the Airplane mode is ON/OFF

public static boolean isAirPlaneModeOn(){      

     if(Settings.System.getInt(mCxt.getContentResolver(),Settings.System.AIRPLANE_MODE_ON, 0)==1)
     return true;

 } 


Method to get the current Language of the device

    /**
     * returns language set for the device in settings
     * @return String
     */
    public String getCurrentLanguage(){

       Locale locale = Locale.getDefault();

       String currentLang= "";

        if(locale != null)
            currentLang = locale.getDisplayLanguage();

        return currentLang;
    }



Method to get the currrent profile set in Settings


           /**
         * get the Sound Profile set in Settings
         * @return
         */
        public String getSoundProfile(){

            try{
                

                final AudioManager audioManager = (AudioManager)Context.getSystemService(Context.AUDIO_SERVICE);
                int profileMode = audioManager.getRingerMode();
               
                if(profileMode == AudioManager.RINGER_MODE_NORMAL)
                    return MODE_NORMAL; 
                else if(profileMode == AudioManager.RINGER_MODE_SILENT)
                    return MODE_SILENT;           
                else if(profileMode == AudioManager.RINGER_MODE_VIBRATE)
                    return MODE_VIBRATE;

            }catch (Exception e) {
                e.printStackTrace();
            }
            return "error";
        }



Method to set the Speaker state to On  or Off

/**
         * Set the Speaker State to On/Off
         * @param on
         */
        public void setSpeakerState(boolean on){

            try{
                final AudioManager audioManager = 

(AudioManager)context.getSystemService(Context.AUDIO_SERVICE);

                if(audioManager != null)
                        audioManager.setSpeakerphoneOn(on);

            }catch (Exception e) {
                e.printStackTrace(); 
            } 
        }     

Comments

Popular posts from this blog

Launch an Android application on Bootup

If you want to start an android application on device restarts, you need to listen for BOOT_COMPLETED broadcast in the manifest file and launch the Launcher activity in onreceive of BOOT_COMPLETED broadcast receiver. Follow below steps to launch activity on device boot up :- 1. Register for Boot completed receiver in Android Manifest file. Add below Permission to receive BOOT_COMPLETED broadcast, <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> Register for Boot completed broadcast receiver , <receiver android:name="AppAutostartReceiver" android:enabled="true" > <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> 2. Add custom Broadcast receiver in the application, public class AppAutostartReceiver extends BroadcastReceiver { @Override public void onReceive(Context cont

Whitelist an android application on android 6.0/Marshmallow

Whitelist wont disable doze mode for your app, however can use network and hold wake lock. Whitelist an android application through code, boolean isIgnoringBatteryOptimizations = pm.isIgnoringBatteryOptimizations(getPackageName()); if(!isIgnoringBatteryOptimizations){   Intent intent = new Intent();   intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);   intent.setData(Uri.parse("package:" + getPackageName()));   startActivityForResult(intent, MY_IGNORE_OPTIMIZATION_REQUEST);   }                             Check for the result, @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {     if (requestCode == MY_IGNORE_OPTIMIZATION_REQUEST) {          PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);          boolean isIgnoringBatteryOptimizations = pm.isIgnoringBatteryOptimizations(getPackageName());          if(isIgnoringBatteryOptimizations){             // Ignoring battery opti