Wednesday, September 20, 2017

Introduction to Artificial Intelligence (AI) and Machine Learning

Introduction to Artificial Intelligence (AI) and Machine LearningArtificial Intelligence

Artificial Intelligence (AI) is a way to make machines think and behave intelligently. These machines are controlled by software inside them, so AI has a lot to do with intelligent software programs that control these machines. AI is also Intelligence demonstrated by machines  replicating the human capability.

It is a science of finding theories and methodologies that can help machines understand the world and accordingly react to situations in the same way that humans do.

Applications of AI

  • Computer Vision: These are the systems that deal with visual data such as images and videos. These systems understand the content and extract insights based on the use case.
  • Natural Language Processing: This field deals with understanding text. We can interact with a machine by typing natural language sentences. Search engines use this extensively to deliver the right search results.
  • Speech Recognition: These systems are capable of hearing and understanding spoken words. Speech recognition is the ability of a machine or program to identify words and phrases in spoken language and convert them to a machine-readable format
  • Expert Systems: These systems use AI techniques to provide advice or make decisions. They usually use databases of expert knowledge areas such as finance, medicine, marketing, and so on to give advice about what to do next.
  •  Games: AI is used extensively in the gaming industry. It is used to design intelligent agents that can compete with humans
  • Robotics: Robotic systems actually combine many concepts in AI. These systems are able to perform many different tasks. Depending on the situation, robots have sensors and actuators that can do different things.

Branches of AI

  • Machine learning and pattern recognition: This is perhaps the most popular form of AI out there. We design and develop software that can learn from data. Based on these learning models, we perform predictions on unknown data.
  • Logic-based AI: Mathematical logic is used to execute computer programs in logic-based AI. A program written in logic-based AI is basically a set of statements in logical form that express facts and rules about a particular problem domain. This is used extensively in pattern matching, language parsing, semantic analysis, and so on.
  • Search: The Search techniques are used extensively in AI programs. These programs examine a large number of possibilities and then pick the most optimal path.
  • Knowledge representation: The facts about the world around us need to be represented in some way for a system to make sense of them. The languages of mathematical logic are frequently used here. If knowledge is represented efficiently, systems can be smarter and more intelligent.
  •  Planning: This field deals with optimal planning that gives us maximum returns with minimal costs.
  • Heuristics: A heuristic is a technique used to solve a given problem that's practical and useful in solving the problem in the short term, but not guaranteed to be optimal. This is more like an educated guess on what approach we should take to solve a problem.
  • Genetic programming: Genetic programming is a way to get programs to solve a task, by mating programs and selecting the fittest.

Machine Learning

Machine Learning(ML) is the science of creating algorithms and program which learn on their own. Once designed, they do not need a human to become better. 

Machine Learning is the subfield of computer science that "gives computers the ability to learn without being explicitly programmed". 

“A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E”.

Applications and uses

  • Manufacturing
    • Demand forecasting
    • Telemeters
    • Predictive maintenance  
  •     Retail
    • Predictive Inventory planning
    • Recommendation engine 
    • Market Segmentation and targeting 
    • Customer ROI and lifetime value
  • Healthcare and lifescience
    • Alerts and diagnostics from real time patient data
    • Disease identification
    • Proactive healthcare management
  • Financial services
    • Risk analytics and regulation
    • Cross selling and upselling

  • Others
    • Commuting
      • Google’s AI-Powered Predictions (Dijkstra’s algorithm)
      • Ridesharing Apps Like Uber and Lyft
      • Commercial Flights Use an AI Autopilot

    • Email
      • Spam Filters
      • Smart Email classification (primary, social, and promotion inboxes) 
      • Introduction of Smart reply to your inbox ( provides quick smart replies based on email context)
      • Grading & Assessment 
      • Plagiarism Checkers
      • Robo-readers
    • AI at Home
      • Social Networking ( facebook , Pininterest , Instagram , snapchat )
      • Online Shopping
      • Search
      • Recommendations
      • Fraud Protection
    • Mobile use
      • Voice to text (Google uses artificial neural networks to power voice search.)
      • Smart personal Assistants ( Alexa, Google Assistant  , Echo dot , Siri , G-home ) etc 
      • Facebooks – JARVIS server ( Integrated home solutions )

Types of Learning

  • Supervised Learning: This is a learning process for generalizing on problems where a prediction is required. A “teaching process” compares predictions by the model to known answers and makes corrections in the model.
    •  Regression
      • Predict continuous valued output (ex. price). 
      • Ex. You have a large inventory of items. You want to predict the average price of items  that will sell over the next 3 months.
    • Classification
      • Discrete valued output (0 or 1; Yes or No)
      • Ex: You’d like software to examine individual customer accounts, and for each account decide if it has been hacked / compromised.
  • Un-Supervised Learning:
    • This is a learning process for generalizing the structure in the data where no prediction is required. 
    • Natural structures are identified and exploited for relating instances to each other.
    • Ex: Social Network analysis, Market segmentation, Astronomical data analysis etc.

Programming language used for ML


    • Scikit-learn
    • TensorFlow
    • Theano
    • Keras
    • PyBrain
  • R
    • Caret (Classification And REgression Training)
    • MLR (Machine Learning in R)
  • Java
    • WEKA (Waikato Environment for Knowledge Analysis, University of Waikato)
    • JDMP (Java Data Mining Package)
    • Mlib (SPARK)   
  • C++
    • mlpack
    • Shark
    • Shogun
  • Julia
    • ScikitLearn.jl

  • Scala
    • ScalaNLP
You might also like :

Did you find our blog helpful ? Share in comment section. Feel free to share on Twitter or Facebook by using the share buttons

Share:

Tuesday, September 19, 2017

5 things to know about Android Hacking and how to prevent

5 things to know about Android Hacking and how to prevent

 1. Installing unlocked bootloader

  • A boot loader is the first program that runs when you boot your device. Boot loader takes care and initiates your hardware and Android kernel. Without this program, our device doesn't boot.
  • To run custom images on your device, boot loader has to be unlocked first before we proceed with it. Even when you want to root a device with a locked boot loader, it requires unlocking it first.
         To unlock bootloader

         fastboot oem unlock "OEM_CODE"

           Installing recovery softwares like TWRP or CF.
                            https://dl.twrp.me/t03g/

2. Rooting the device

  • Android is built on top of Linux Kernel.Linux, we see two types of user accounts – normal user accounts and root accounts. 
    • Normal user accounts usually have low privileges and they need permission from root to perform privileged operations such as installing tools, making changes to the Operating System, and so on.
    • Whereas root accounts have all the privileges such as applying updates, installing software tools, ability to run any command, and so on. Essentially, this account has granular control over the whole system.
  • Device can be rooted by installing unlocked bootloader. If the device is rooted, which means normal user account gets root privileges, any apps can have access to /data and steal all your valuable data. 

 3. Threat from Android app or framework

  • Many mobile applications store sensitive data on the device without any encryption.  A malicious application may gain access to this data if the device is rooted/jailbroken.
  • Mobile applications when developed with no security controls in mind can become vulnerable to various attacks. Examples of such mistakes include, exported content providers, exported activities, client side injection, and so on.
  • It is possible that an app may unintentionally leak sensitive data to an attacker. This requires extra attention from the developer. The code he uses for logging during the development phase must be removed and he must make sure that no data is prone to leaks.
  • With Android, native apps that are developed for the android platform can be easily reverse engineered and the Java source code can be easily viewed. It allows an attacker to view the source code as well as any sensitive data that is hard coded in the code. It is also possible to modify the code in the application and re-compile it and then distribute the apps in third party markets. 

4. Threat from Server 

  • Web services are almost similar to web applications. It is possible that web services can be affected with all the common vulnerabilities that a normal web application can have.
  • Authentication/Authorization:
    •  Session management: Session management in mobile platforms is typically done using an authentication token. When the user logs in for the first time, he will be given an authentication token, and this will be used for the rest of the session. If this authentication token is not properly secured till it's destroyed, it may lead to an attack. Killing the session at the client side but not at the server is another common problem that is seen in mobile apps.
  • Weak cryptography: Cryptography is another area where developers commit mistakes during their development.
  • Improper error handling: Errors are attractive to attackers.
  • Attacks on the database: It is also important to notice that attackers may get unauthorized access to the database directly

5. Network level access to the apps

  • Man in the Middle (MitM) attacks are one of the most common attacks on mobile devices, as users tend to connect to public Wi-Fi networks so often. Being able to perform MitM on a device not only provides data to the attacker when the user transmits it over an insecure network, but also provides a way to tamper with his communications and exploit vulnerabilities in certain scenarios.
  • It is common that users install apps from the app store for their daily needs. When apps that provide network-level access to Android devices are installed on the phone, users must be cautious about who can access these devices and what data is accessible.
  • It is quite common for end users to join publicly available networks at coffee shops and airports where an attacker may sit in and eavesdrop on the data using tools like burp proxy, MITM proxy, SSL MitM (short for Man in the Middle attack) proxy, and so on.

Some of the tip to prevent from phone getting hacked

  • Set up your lock screen

  • Never join an unsecure network

  • Set up phone storage encryption

  • Do not allow unknown sources for installation

  • Install an anti-malware app

  • Avoid using public Wi-Fi

  • Configure Bluetooth settings properly

  • Never root your device

Share:

10 things to know about Android for Work

 

 1. What is Android for Work

  • Android for Work is a program for supporting enterprise use of Android, which consists of product features in Android, Google Play for Work, and other productivity tools.
  • Android for Work is Mobile Device Management (MDM) and data separation framework  debuted in Android 5.0 Lollipop
  • Android for Work is primarily exposed via APIs that enterprise mobility management (EMM) providers and enterprise application developers can use to deliver a secure, productive, and rich mobile experience to their customers’ employees. 
  •  EMM providers are companies that offer advanced IT solutions for mobile device management (MDM), mobile application management, mobile expense management, and more.  

 2. Work Profile

  • Android for Work features what's known as a work profile on a device -- a segregated, managed environment.  
  • A work profile still allows enterprise apps to have some basic control over the entire device -- usually limited to lock screen and encryption policies.
  • Enterprise also have complete control over enterprise data within the work profile. They can install apps, user accounts and credentials, configure VPNs and change settings inside some apps

3. Play for Work

  • Play for Work is an offshoot of Google's main app store that organizations can use to purchase Android apps in bulk.
  • It can also host and distribute in-house enterprise apps.

4. Corporate-Owned, Single-Use (COSU)

  • These are Android devices used for a single purpose, such as digital signage, ticket printing, point of sale, or inventory management.  
  • It is also a device owner mode, which locks down devices that multiple users share or that function as kiosks, information displays or embedded devices.

5. Separate Work and personal Apps

  • Enterprise workers have long wanted a way to separate work apps and files from personal apps and files while still having the ability to work in a native environment.  
  •  Business apps and personal apps have separate work notifications, app badges, restrictions using data separation framework.

6. Security

  • Data security—Business data is separated in a work profile and protected device-wide on work-managed devices. IT can apply data leakage prevention policies. 
  • Apps security—Work apps are deployed through Google Play for Work. IT can prevent installation of apps from unknown sources and apply app configurations. 
  • Device security—Android for Work devices are protected with disk encryption, lockscreen, remote attestation services, and hardware-backed keystore when available. 

 7. Control data and privacy

  • If you leave the company or your device is lost, IT will erase just the work apps, leaving your personal stuff intact. IT can also never view your personal activities.

 8. Secure Productivity features

  • Android for Work offers some productivity features that make it easier for users to work remotely and still be productive. For example, on devices with Lollipop, users can view company email in the same stream as personal email. It also allows employees to open an attachment or link with limited or no hoops to jump through 
  • Users can then edit the document in that attachment on their mobile device, save it to Google Drive or another sanctioned cloud storage service and access that same document at work without having to email it to themselves -- all under encryption.

9. Selective Remote wipe

  • Android for Work BYOD Managed Profile, the device has both a personal and Android for Work container. That means that IT can wipe only the Android for Work container if that situation arises.

10. App updating

  • Admins can update devices or apps, and then notify employees afterward without the users having to install anything themselves.

You may also like :

Internet of Things (IOT) Basics

Android Basic Concepts

Please share your feedback about this blog. If you liked it please share with others

Share:

Sunday, September 17, 2017

Top 10 new features in Android Oreo

 Top 10 features in Android Oreo


Google has officially unveiled the next version of Android - the Oreo, for smartphones, tablets and the rest.

                 Android Oreo brings with it a host of new features and improvements over Android Nougat. While not all of them would be immediately visible to end users, they would surely contribute towards the end experience of a mature smartphone OS.



 1. Picture-in-Picture mode (PIP)

  • PIP is a special type of multi-window mode mostly used for video playback.
  •  This is a special type of split-screen window that should be particularly useful for watching videos while performing other tasks, though apps will need to be updated to support the new API.   

2. Autofill framework 

  • Account creation, login, and credit card transactions take time and are prone to errors. Users can easily get frustrated with apps that require these types of repetitive tasks. 
  • This new Autofill Framework will allow apps to create and manage their own lists of auto-fill data, then Android Oreo will populate this data into password fields when appropriate.
 

3. Auto-enable Wi-Fi

  • A clever, new feature will automatically turn your phone’s Wi-Fi back on based on your location. 
  • This way, your phone can connect to your home network when you arrive, saving you from any fiddling with the device.

4. Enhanced security with Google Play Protect

  • Google Play Protect, a new service suite that will scans your apps for threats, and constantly checking for the latest risks, which will be found and detected via machine learning.

5. Snooze Individual Notifications

  • Ability to snooze individual notifications. When a message comes through, but you don't have time to deal with it, just swipe to the right, then tap the clock icon to snooze the notification. 
  • This will make the message go away for 15 minutes, then come right back when the time is up. 

 6. Updates even when handset is out of space

  • With Android 8.0 Oreo, the smartphones will still get OTA updates even when they are out of space. This means that users can continue using the device during the update.

7. Hi-Fi Bluetooth Codecs

  • Google has added a handful of high-quality Bluetooth codecs to Android Oreo, including Sony's LDAC, which should greatly improve audio quality with compatible Bluetooth devices.  Also supports Bluetooth 5.0

8. Better battery life with Vitals

  • Google's adding what it calls "wise limits" to create automatic caps for what apps can do in the background. These limits will curtail excessive use of background services and location updates, so your apps won't be able to do too much damage to your battery when you're not using them.

9. Notification channels

  • Android 8.0 introduces notification channels that allow you to create a user-customizable channel for each type of notification you want to display.
  • Notification dots: Android 8.0 introduces support for displaying dots, or badges, on app launcher icons.
  • Snoozing: Users can snooze notifications, which causes them to disappear for a period of time before reappearing.
  • Background colors: You can set and enable a background color for a notification.

10. Adaptive Icons


  • Android device makers often use their own custom OS skins, which can throw off how the look and shape of app icons correspond with the rest of those you download from the Play Store. 
Share:

Internet of Things (IOT) Basics



Internet of Things (IOT)

                           The Internet of Things (IoT) refers to the ever-growing network of physical objects and the communication that occurs between these objects and other Internet-enabled devices and systems.
Purpose of IOT
     User can Remotely:
  • Connect with devices to learn about it
  • Monitor devices
  • Search for devices
  • Interact with devices
How to make things – IOT
  • Every Device (in World) have Unique identity
  • Have sensors
  • Device have ability to communicate
  • Connect through any (wired/wireless/satellite) network
  • Manage from remote to create new business values and Revenues
IoT Architecture 


             IoT offers advanced connectivity of devices, systems, and services that goes beyond machine-to-machine communications(M2M) and covers a variety of protocols, domains, and applications. 


Cities / Connected Communities  

  • Lighting, water management
  • Monitoring & security
  • Traffic control

Energy & Resources

  • Voltage and Power sensors
  • Meters and breakers
  • Fault detection
Building and Home Automation

  • Thermostats, HVAC, lighting
  • Presence sensors, lockers, actuators
  • Meters, smart-plug, HEC
Industrial & Manufacturing

  • Lighting, security, actuators
  • Production control
  • Robotics
Medical and Healthcare Systems

  • People monitoring
  • Bio sensors, probes
  • Remote Health
Life Sciences

  • Independence through technology
  • Information when you need it
  • Connected when you need it
Transportation & Environment

  • Electric Mobility, EVs and HEVs
  • High speed trains
  • Infrastructures

Home Automation

                 A home automation system integrates electrical devices in a house with each other. It provides improved convenience, comfort, energy efficiency and security. 

Refrigerator:

  • RFID tags recorders groceries as needed, and suggests recipes
Electric Toothbrush:

  • Automatically recorders brush heads, shares brushing habits with your dentist
Cell Phone:

  • Secure performs identification & verification for payments
Coffee maker:

  • Custom setting for each coffee type, starts when alarm goes off
Smart Scale:

  • Measures and sends weight into for progress tracking
Microwave:

  • Automatically sets cook cycle with RFID recognition
Media Player:

  • Remotely orders 
  • new songs & video
Building Security:

  • Security cameras interact with facial recognition database
Exercise Equipment:

  • Recognize individual user and tracks workout schedules
 HVAC:

  • Controls temperature & lights for maximum efficiency
 Television:

  • Immediate “one-click” ordering of products seen on commercials
Vending:

  • Automatically recorders supplies before it’s empty
 VoIP phone:

  • Automatic updates, integration and forwarding
Printer:

  • Automatically recorders toner and papers as needed

 Smart Building

           Building Automation System(BAS) is designed to monitor and control the mechanical, security, fire and flood safety, lighting and humidity control and ventilation systems in a building. 
 Disaster Prevention

  • Raise alarm to decrease the impact of disasters like fire, earthquakes, industrial accidents and communication failures.
Network Monitoring

  • Monitors a network for threats and problems caused by overloaded and/or crashed servers
Lighting Control

  • Switch ON/OFF light in occupied/unoccupied areas
Temperature Control

  • Temperature sensor in the zone provides feedback to the controller to deliver heating or cooling as needed
Energy Storage

  • Measure electrical performance of the building and alert if device is wasting more than the usual amount of energy
Control Elevators and Escalators

  • Remotely control elevators, and escalators to ensure safety as well as interoperability
Monitoring Cameras

  • Monitor installed cameras to identify security threats
 Security Control

  • Security cameras interact with facial recognition database

Cities/Connected Communities

           Building Automation System (BAS) is designed to monitor and control the mechanical, security, fire and flood safety, lighting and humidity control and ventilation systems in a building.

Traffic Management

  • Dynamic Traffic control, Trip planning, electric vehicles, E-Ticket and accommodation

Weather Management

  • Green pollution control, Climate change adaptation, Flood planning, Aviation forecasting

Public Service

  • Citizen card, Mobile payment, government services and social security

 Medical

  • Electronic medical Records, Distance medical diagnostic, Family health services

 Public utilities

  • Monitoring water quality and drainage system, electricity and gas measurement. 

Education Environment

  • Create transformative learning environments with revolutionary new software platforms and innovative interactive displays.

Intelligent Building and Home

  • Improved convenience, comfort, energy efficiency and security for building and home

 Parking

  • Park and ride, parking availability space finder,monitor and manage your parking site with great efficiency.

IoT Technology


  • Open source Platform evaluations for IoT (Contiki, Mbed, AllJoyn, Eclipse Foundation)
  • Embedded middleware/Sensor Middleware 
  • Connectivity protocols - MQTT, CoAP, 6LoWPAN
  • Web Interface  - REST, SOAP
  • Understanding Sensor Technologies.
Others

  1.  Industry follow ups, Market Research
  2.  Evaluation of the solutions provided by some of the IoT Home automation companies in the industry.   E.g.,: Smartthings (acquired  by Samsung), Nest (acquired by Google)    
IoT  Platforms
Features
Targeted Segment
Contiki
(http://www.contiki-os.org/)
 Open source.
Operating system to connect tiny low-cost, low-power devices  to the Internet
Low memory, Low power devices
Mbed
 (https://mbed.org/)
Open source by ARM.
Operating System for developing IoT solutions on ARM architecture
Wearables, Smart Home , Smart Building
AllJoyn
(https://www.alljoyn.org/)
Open source promoted by a consortium of companies
(includes LG)
Smart Media devices, Connected Home
Eclipse IoT/M2M Platform
(http://iot.eclipse.org/)
 Promoted by Eclipse foundation
Generic Platform. Continuously evolving and Integrates the latest Protocols

Contiki Framework
             It is an open source operating system for networked, memory-constrained systems.
This is mainly targeted for low-power wireless Internet of Things devices
         Examples:

  •  Street lighting systems.
  •  parking monitoring for smart cities. 
  •  Radiation monitoring systems.
  •  Alarm systems.

Features:

  • Highly memory efficient.
  • Supports hardware devices that are severely constrained in terms of memory, power, processing power, and communication bandwidth
  • Full IP Networking.
  • Designed to operate in extremely low-power systems.
  • Provides powerful low-power Internet communication.
  • Supports dynamic loading and linking of modules at run-time.
  • Uses a mechanism called Protothreads which  is a mixture of the event-driven and the multi-threaded programming mechanisms.
  • Provides a lightweight flash file system.
  • Flexible, Dynamic, Forward Compatible.
AllJoyn Framework

       A persistent publish/subscribe solution promoted by Qualcomm and consortium of companies including LG. This is mainly targeted towards home electronics:

  • Connected Home
  • Smart TV
  • Smart Audio
  • Broadband Gateways
  • Automotive

Flexible, Dynamic, Forward Compatible

  • Core building blocks and services to address: discovery, connectivity, security and management of ad-hoc proximal networks among nearby devices
  • Service-level discovery, capabilities broadcasting, remote procedure calls, interface sharing, all benefits of Wi-Fi security, message marshalling
  • Ability to react to dynamic, ad-hoc network changes
  • Developer SDK
Enables Horizontal Market Interoperability

  •   Cross-platform, cross-brand, cross-physical layers
  •   Bridging ecosystems for individual markets and product categories
  •   Discover new use cases and create new business models
  •   Interoperable across leading OS and embed devices like small home appliances that don’t run an OS
  •   Bearer agnostic
  •   Devices can interact regardless of how they are connected – Wi-Fi, Ethernet, Powerline, etc
Oracle’s IoT Platform  

  Oracle Provides a suit of solutions for the connected world. (Oracle IoT/M2M solution suits). From small device like sensors to servers, Oracle promotes and refines Java as the tool for Building IoT ecosystem.

 Oracle’s IoT platform provides an end-to-end solution for a comprehensive, scalable, and cost-effective IoT architecture, enabling organizations to

  • Manage and Analyse large volumes of device data throughout the lifecycle, from collection to analysis
  • Integrate and Automate, using data from connected devices to make decisions ..
  • Optimize and Innovate, integrating with Oracle business and industry applications  to reduce costs  and accelerate new service delivery

Did you find our blog helpful ? Share in comment section. Feel free to share on Twitter or Facebook by using the share buttons


Share:

Android developer device system information

Below are the code snippets with description to get Android sysgtem information from the device.

Device Information
Android Java code to get device information
Description
Example from device
Manufacturer
String manufacturer = Build.MANUFACTURER
A company which produce the mobile phone
Samsung
Brand
Build.BRAND
This is a name, that distinguishes one company product from others.
Samsung
Model
Build.MODEL
Distinct name of device.
S6
Board
Build.BOARD
Motherboard specifically refers to a PCB with expansion capability and as the name suggests, this board is often referred to as the mother of all components attached to it.

Hardware
Build.HARDWARE
Name of mobile system on chip manufacturer(SoC
Qcom
Serial No
Build.SERIAL
Hardware serial number
16239565652
Boot Loader
Build.BOOTLOADER
A system bootloader version number.

Screen Resolution
WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
Display display = windowManager.getDefaultDisplay();
densityX = display.getWidth(); // default height width of screen
densityY = display.getHeight();
The number of horizontal and vertical pixels on a display screen.
1184*720 pixel
Android ID
Secure.getString(this.getContentResolver(),Secure.ANDROID_ID);
A 64bit number that is randomly generated on the device first boot and should remain constant for the lifetime of the device.
8fed34ffere4343fd
OS Details



Version
VERSION.SDK_INT = 26 Version is 6.0.1
Unique version number for Android OS
7.1.1
Version Name
VERSION.SDK_INT = 26 Version name is Mashmallow
Unique name of OS version
Nougat
API Level
VERSION.SDK_INT
API levels manage the app compatibility across different versions of android.
25
Build ID
Build.ID
Either a changelist number or a label like eg:M4-rc20
NMF26F
Build Time
Build.TIME
Time when System OS build.
Tue Nov 22 2016
Fingerprint
Build.FINGERPRINT;
A string that uniquely identifies this build.
Samsung/S6/S6:7.1.1/NMF26F:user/release-keys
CPU Details



CPU Model
Adb to the device and cat /proc/cpuinfo.
The first Processor field will have CPU model
Model name of CPU
AArch64 Processor rev 1 (aarch64)
Cores
Adb to the device and cat /proc/cpuinfo.
Number of Processor field will give count of Cores – Usually it will be from (0 – 5) for 6 cores or (0 – 3) for 4 cores
Number of available processor cores on device.
4
Actual RAM
Adb to the device and cat /proc/meminfo.
MemTotal field will give memory info in KB. Usually it will be 500MB or 1GB or more

The Amount of RAM company offers in Specifications(1GB = 1024MB)
4GB
Physical Available RAM
Adb to the device and enter free -m
Mem: field of total will give RAM available.
The Amount of RAM physically available in your device(1GB = 1024MB).
1871 MB
Hardware
Adb to the device and cat /proc/cpuinfo.
The Hardware field will have Hardware information
CPU Hardware model name(eg: MT6752 that is Mediatek MT6752)
Qualcomm Tech, Inc MSM8996pro
WIFI
getPackageManager().hasSystemFeature("android.hardware.wifi")
Wi-Fi or WiFi is a technology for wireless local area networking with devices based on the IEEE 802.11 standards.Wi-Fi compatible devices can connect to the Internet via a WLAN network and a wireless access point.
Available or Not Supported
WIFI Direct
getPackageManager().hasSystemFeature("android.hardware.wifi.direct")
Wi-Fi Direct, initially called Wi-Fi P2P, is a Wi-Fi standard enabling devices to easily connect with each other without requiring a wireless access point. Wi-Fi Direct allows two devices to establish a direct Wi-Fi connection without requiring a wireless router.
Available or Not Supported
Bluetooth
getPackageManager().hasSystemFeature("android.hardware.bluetooth")
Bluetooth is a wireless technology standard for exchanging data over short distances (using short-wavelength UHF radio waves in the ISM band from 2.4 to 2.485 GHz) from fixed and mobile devices, and building personal area networks (PANs).
Available or Not Supported
Bluetooth LE
getPackageManager().hasSystemFeature("android.hardware.bluetooth_le")
Bluetooth Low Energy (BLE) is designed to provide significantly lower power consumption. This allows Android apps to communicate with BLE devices that have stricter power requirements, such as proximity sensors, heart rate monitors, and fitness devices.
Available or Not Supported
GPS
getPackageManager().hasSystemFeature("android.hardware.location.gps")
The Global Positioning System (GPS) is a space-based radionavigation system. These technologies can enhance the usefulness of the GPS positioning information.
Available or Not Supported
Camera Flash
getPackageManager().hasSystemFeature("android.hardware.camera.flash")
Check whether the device contain a camera Flash.
Available or Not Supported
Camera Front
getPackageManager().hasSystemFeature("android.hardware.camera.front")
Check whether the device contain a Front camera.
Available or Not Supported
Microphone
getPackageManager().hasSystemFeature("android.hardware.microphone")
Checking the availability of Microphone
Available or Not Supported
NFC
getPackageManager().hasSystemFeature("android.hardware.nfc")
Near-field communication (NFC) is a set of communication protocols that enable two electronic devices, one of which is usually a portable device such as a smartphone, to establish communication by bringing them within 4 cm (1.6 in) of each other.NFC devices are used in contactless payment systems, similar to those used in credit cards and electronic ticket smartcards and allow mobile payment to replace/supplement these systems.
Available or Not Supported
USB Host
getPackageManager().hasSystemFeature("android.hardware.usb.host")
When your Android-powered device is in USB host mode, it acts as the USB host, powers the bus, and enumerates connected USB devices. USB host mode is supported in Android 3.1 and higher.
Available or Not Supported
USB Accessory
getPackageManager().hasSystemFeature("android.hardware.usb.accessory")
USB accessory mode allows users to connect USB host hardware specifically designed for Android-powered devices.This allows Android-powered devices that cannot act as a USB host to still interact with USB hardware. When an Android-powered device is in USB accessory mode, the attached Android USB accessory acts as the host, provides power to the USB bus, and enumerates connected devices.
Available or Not Supported
Multitouch
getPackageManager().hasSystemFeature("android.hardware.touchscreen.multitouch")
A multi-touch is when multiple pointers (fingers) touch the screen at the same time.
Available or Not Supported
Audio low-latency
getPackageManager().hasSystemFeature("android.hardware.audio.low_latency")
Check whether the device support Audio low-latency. Latency is the time it takes for a signal to travel through a system.
Available or Not Supported
Audio Output
getPackageManager().hasSystemFeature("android.hardware.audio.output")
Check whether the device support Audio Output.
Available or Not Supported
Professional Audio

Professional audio, occasionally abbreviated as pro audio, refers to both an activity and a type of high quality audio equipment.
Available or Not Supported
Consumer IR
getPackageManager().hasSystemFeature("android.hardware.consumerir")
Consumer IR, consumer infrared, or CIR, refers to a wide variety of devices employing the infrared electromagnetic spectrum for wireless communications.he type, speed, bandwidth, and power of the transmitted information depends on the particular CIR protocol employed.
Available or Not Supported
Gamepad Support
getPackageManager().hasSystemFeature("android.hardware.gamepad")
Whether the Gamepad support available or not.
Available or Not Supported
HIFI Sensors
getPackageManager().hasSystemFeature("android.hardware.sensor.hifi_sensors")
High fidelity sensor processing capabilities.
Available or Not Supported
Printing
getPackageManager().hasSystemFeature("android.software.print")
Printing support for device.
Available or Not Supported
CDMA
getPackageManager().hasSystemFeature("android.hardware.telephony.cdma")
Code-division multiple access (CDMA) is a channel access method used by various radio communication technologies.CDMA is used as the access method in many mobile phone standards.
Available or Not Supported
GSM
getPackageManager().hasSystemFeature("android.hardware.telephony.gsm")
GSM (Global System for Mobile Communications is a standard developed by the European Telecommunications Standards Institute (ETSI) to describe the protocols for second-generation (2G) digital cellular networks used by mobile phones.
Available or Not Supported
Fingerprint
getPackageManager()..hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)
Biometric hardware to detect a fingerprint.
Available or Not Supported
App Widgets
getPackageManager().hasSystemFeature("android.software.app_widgets")
App Widgets are miniature application views that can be embedded in other applications (such as the Home screen) and receive periodic updates.
Available or Not Supported
SIP
getPackageManager().hasSystemFeature("android.software.sip")
Android provides an API that supports the Session Initiation Protocol (SIP). This lets you add SIP-based internet telephony features to your applications. Android includes a full SIP protocol stack and integrated call management services that let applications easily set up outgoing and incoming voice calls, without having to manage sessions, transport-level communication, or audio record or playback directly.
Available or Not Supported
SIP-based VOIP
getPackageManager().hasSystemFeature("android.software.sip.voip")
A SIP connection is a marketing term for voice over Internet Protocol (VoIP) services offered by many Internet telephony service providers (ITSPs).
Available or Not Supported
Battery Information



Battery level
To get battery level register for a sticky intent
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = registerReceiver(null, ifilter);

intent.getIntExtra("level", -1);
Percentage of battery charge
50%
Type
To get battery Type register for a sticky intent
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = registerReceiver(null, ifilter);

intent.getStringExtra("technology");
Power Source
Li-ion Battery
Temperature
To get battery temperature register for a sticky intent
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = registerReceiver(null, ifilter);

intent.getIntExtra("temperature", 0);
Battery Temperature
25.0 C
Voltage
To get battery voltage register for a sticky intent
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = registerReceiver(null, ifilter);

intent.getIntExtra("voltage", 0);
Battery Voltage
3.194 V
Status
To get battery status register for a sticky intent
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = registerReceiver(null, ifilter);

intent.getIntExtra("status", 0);
Battery Status
Charging
Network



WiFi
NetworkInfo activeNetworkInfo = ((ConnectivityManager) context.getSystemService("connectivity")).getActiveNetworkInfo();

activeNetworkInfo.getType() == 1
Show if wifi is connected or not
Connected
3G/4G
NetworkInfo activeNetworkInfo = ((ConnectivityManager) context.getSystemService("connectivity")).getActiveNetworkInfo();

activeNetworkInfo.getSubtype() == 15
Shows if cellular network is present or not
3G
WiFi IP Details
WifiInfo connectionInfo = ((WifiManager) m797h().getSystemService("wifi")).getConnectionInfo();

connectionInfo.getIpAddress(); // IP Address
connectionInfo.getSSID() // Wifi AP name
connectionInfo.getBSSID() // MAC Address
connectionInfo.getLinkSpeed() // Link speed
WiFi IP address
10.24.25.2
Sensors
SensorManager sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
List<Sensor> sensors sensors = sensorManager.getSensorList(Sensor.TYPE_ALL);

Lists all the sensors supported
Accelometer
Step Sensor
Gyroscope
Camera Informatio
Camera.getCameraInfo(i, new CameraInfo());
        Camera open = Camera.open(i);
        Parameters parameters = open.getParameters();
Camera Information

System  apps
List<PackageInfo> apps = getPackageManager().getInstalledPackages(0);

for (ApplicationInfo aInfo : apps) {

if ((aInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0)
//System apps
}
List all system apps

User apps
List<PackageInfo> apps = getPackageManager().getInstalledPackages(0);

for (ApplicationInfo aInfo : apps) {

if (!(aInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0)
//System apps
}
List all User apps

Share:

Popular Posts

Contact Form

Name

Email *

Message *