flutter_cell_info

Last updated:

0 purchases

Default Cover
Add to Cart

Description:

flutter cell info

flutter_cell_info #
Cell Info Plugin
NetMonster Core #
🚧 Work in progress! 🚧
Lightweight Android library that is build over Telephony SDK. NetMonster core is extracted from NetMonster application and backports several Telephony features to older Android devices.
Why use NetMonster Core instead of legacy API?

Validation - library validates data from RIL and corrects them if possible
Richer information - additional functions for cell identity and cell signal that will make your code more understandable
Backport - several non-accessible signal or identity fields are now accessible without boilerplate code
Tested - tested on real devices, 50 000+ active users

New functions #
Here's small comparison for each of voice / data network you can meet.
GSM



function
Min SDK Android
Min SDK NetMonster Core




CGI
-
I (14)


NCC
-
N (24)


BCC
-
N (24)


Band
-
N (24)


TA
O (26)
N (24)



WCDMA



function
Min SDK Android
Min SDK NetMonster Core




CGI
-
I (14)


CID (16b)
-
I (14)


RNC
-
I (14)


Ec/Io
-
M (23)


Band
-
N (24)


BER
-
Q (29)


Ec/No
-
Q (29)


RSCP
-
Q (29)



LTE



function
Min SDK Android
Min SDK NetMonster Core




eCGI
-
I (14)


CID (8b)
-
I (14)


eNb
-
I (14)


RSSI
Q (29)
I (14)


RSRP
O (26)
I (14)


CQI
O (26)
I (14)


SNR
O (26)
I (14)


TA
O (26)
I (14)


Band
-
N (24)



Usage #
There are basically two ways you can use this library - as a validation library that will sanitize
data from AOSP cause lots of manufacturers modify source code and do not follow public documentation.
In that case you'll only need ITelephonyManagerCompat to retrieve AOSP-like models that are properly
validated.
The second option is to use advantages of additional postprocessing of NetMonster Core. As a result
you'll get more data but correctness is not 100 % guaranteed.
Without additional postprocessing
NetMonster Core focuses on mapping of two AOSP's ways to fetch current cell information:

TelephonyManager.getAllCellInfo()
TelephonyManager.getCellLocation() (deprecated in AOSP)
TelephonyManager.getNeighbouringCellInfo() (removed from AOSP)

Note that some of those methods are deprecated or even removed from AOSP - for more info see documentation of each method.
Postprocessing
In this case you'll need to interact with INetMonster class. Here's list of problems
that this library solves.
Merging data from multiple sources
Issue:

Android offers multiple ways how to get cell information.
Not all devices support one unified way how to access all the data.

Solution:

NetMonster Core grabs data from sources you specify, validates and merges them.

Detection of LTE-A & HSPA+42
Issue:

AOSP cannot detect HSPA+42, only HSPA+.
AOSP does not offer a way to distinguish whether current network is using carrier aggregation or not.

Solution:

NetMonster Core attempts to guess HSPA+ 42 availability.
LTE-CA presence can be guessed based on cell info or detected using hidden APIs.

Using getNetworkType(vararg detectors: INetworkDetector) you can specify which INetworkDetector to use
when detecting current network type.
Other features

Detection of serving cells in 'emergency calls only' mode.
PLMN addition to non-serving cells in GSM, WCDMA, LTE, TD-SCDMA and NR networks.

Originally forked from cell_info #
Credit to - eslamfaisal

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.