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

Implementing RecyclerView

I'm working on Android hybrid apps from last 5 years, its very tough to stay in touch with Native android UI, Now I started learning through sample applications, so thought of sharing my learning here.           RecyclerView has came with Material design in Android Lollipop, RecyclerView is advanced, flexible version of Listview, RecyclerView uses the view holder pattern  and improve the performance by reusing off screen views and rebinds them to the data which is scrolling on the screen, now lets see the difference between list view and recyclerview. Difference between RecyclerView and Listview :- 1. RecyclerView forces to use RecyclerView.ViewHolder (Inbuilt view Holder) to hold the elements, to reuse the cells while scrolling, which was optional in Listview which we used to create in adapters getView() method. 2. Animation while adding list items or removing list items are already added in the recyclerview. 3. List views were only of vertical...

Adding Call log entries in Native Call Logs

While adding call logs we can set number in CallLog.Calls.NUMBER field , same for date  and duration. CallLog.Calls.CACHED_NAME will be filled with the cached name in case if the number is already saved in Contacts database. ContentValues values = new ContentValues(); values.put(CallLog.Calls.NUMBER, number); values.put(CallLog.Calls.DATE, System.currentTimeMillis()); values.put(CallLog.Calls.DURATION, 0); values.put(CallLog.Calls.TYPE, CallLog.Calls.OUTGOING_TYPE); //Type of call Outgoing/Incoming/Missed etc values.put(CallLog.Calls.NEW, 1); values.put(CallLog.Calls.CACHED_NAME, ""); values.put(CACHED_NUMBER_TYPE, 0); values.put(CACHED_NUMBER_LABEL, ""); this.getContentResolver().insert(CallLog.Calls.CONTENT_URI, values); Below Permissions are required to add call logs , add it in Manifest file, <uses-permission android:name="android.permission.WRITE_CALL_LOG"></uses-permission> <uses-permission android:name="android.perm...

Android activity Launch modes

Launch modes defines how an instance of an activity is associated with the current task. You can define different launch modes as below, 1. Standard 2. Single Top 3. Single Task 4. Single Instance 1. Standard :- Default activity mode will be Standard.Activity instance will be created every time for each new intent. 2. Single Top :-  Single top activity will be created if the activity is not on the top of the stack , if activity is on the top of the stack OnNewIntent() of activity gets called otherwise new instance will be created and pushed in to the stack. 3. Single Task :- Instance of the activity will be created only if it doesn't exist in the system otherwise it will be moved to front and onNewIntent() will be called. 4. Single Instance :- Same as single task, any activity launched from this activity will start the new task always so single instance activity will not share the same stack with other activities, so OnNewIntent() will be called for every inte...