The library is built for simplicity and approachability. It not only eliminates most boilerplate code for dealing with device information, but also provides an easy and simple API to retrieve them
EasyDeviceInfo is split into multiple module-libraries , v2.2.0 onwards. Use the appropriate one as per your requirement.
easydeviceinfo
easydeviceinfo-ads
and easydeviceinfo-base
.easydeviceinfo-ads
play-services-base
.easydeviceinfo-base
Starting with 1.1.8
, Changes exist in the releases tab.
EasyDeviceInfo is available in the Jcenter, so getting it as simple as adding it as a dependency.
dependencies {
def easyDeviceInfoVersion = {latest version}
// Base + Ads Bundled Library
implementation "com.github.nisrulz:easydeviceinfo:$easyDeviceInfoVersion"
// Base Composite
implementation "com.github.nisrulz:easydeviceinfo-base:$easyDeviceInfoVersion"
// Ads Composite
implementation "com.github.nisrulz:easydeviceinfo-ads:$easyDeviceInfoVersion"
}
where {latest version}
corresponds to published version in Jcenter
Introducing Mods in EasyDeviceInfo v2!
Mods or Modules are the new way to retrieve information. They let you get information in a very segmented manner and the best part is you only initialize the Mods you need in your project. Pretty rad , eh ? I know.
The whole api has been reworked in v2.x.x , however the functions remain the same, hence now you need to migrate to v2.x.x from 1.x.x.
Now to use them, create an instance of one of the Mods ( Easy*Mod class ), i.e EasyConfigMod
EasyConfigMod easyConfigMod = new EasyConfigMod(context);
Next call an available function on the easyConfigMod instance such as
String time_in_ms= String.valueOf(easyConfigMod.getTime());
Now each Mods has a certain set of functions you can call on them to retrieve device information. i.e for EasyConfigMod
Value | functionName | returns |
---|---|---|
Is running on emulator | isRunningOnEmulator() |
boolean |
Time (ms) | getTime() |
long |
Formatted Time (24Hr) | getFormattedTime() |
String |
Up Time (ms) | getUpTime() |
long |
Formatted Up Time (24Hr) | getFormattedUpTime() |
String |
Include a required permission check
Setup all constants returned in a switch statement
This applies to all annotations bundled with easydeviceinfo. Checkout the wiki to see where these annotations can be applied.
@RingerMode
@DeviceType
@PhoneType
@OrientationType
@NetworkType
@BatteryHealth
@ChargingVia
I welcome and encourage all pull requests. It usually will take me within 24-48 hours to respond to any issue or request. Here are some basic rules to follow to ensure timely addition of your request:
develop
branch. Any other branch (unless specified by the maintainers) will get rejected.If you are using EasyDeviceInfo in your app and would like to be listed here, please let me know by opening a new issue!
This project was created by Nishant Srivastava but hopefully developed and maintained by many others. See the the list of contributors here.
If you appreciate my work, consider buying me a cup of :coffee: to keep me recharged :metal:
- PayPal
- Bitcoin Address: 13PjuJcfVW2Ad81fawqwLtku4bZLv1AxCL
I love using my work and I'm available for contract work. Freelancing helps to maintain and keep my open source projects up to date!