Public Safety LTE
This section describes how to capture Rich Communications Services (RCS) messages sent and received on a device.
About Public Safety LTE
Rich Communications Services (RCS) messaging is a new messaging protocol that is starting to replace SMS as the default messaging platform for carriers. It adds much needed features — such as group messages, and large file transfers.
Knox 3.2 allows IT admins to log RCS messages. For many industries, such as the financial services, the ability to record and audit sent and received messages is required by law.
GetRCSMessage
allows IT admins start RCS capture.
phoneRestrictionPolicy.getRCSMessage(id);
rcsData.getString(BODY);
GetRCS Message Example
Activate Device manager
- Choose device manager.
- Active Android D.O.
- Activate Device Administrator.
- Create the EnterpriseDeviceManager object.
Call Knox APIs
- Create
phoneRestrictionPolicy.getRCSMessage
. - Call
rcsData.getString
and capture:- REMOTE_URI
- SENDER_ALIAS
- CONTENT_TYPE
- BODY
- TIMESTAMP
- Save this data to a file
For TIMESTAMP, also use the getLong method as seen in the following sample.
EnterpriseDeviceManager edm = EnterpriseDeviceManager.getInstance(context);
PhoneRestrictionPolicy phoneRestrictionPolicy = edm.getPhoneRestrictionPolicy();
long id = intent.getExtras().getLong(EXTRA_MSG_ID);
String action = intent.getAction();
boolean isFile = false;
if (ACTION_RCS_MSG_FILE_THUMBNAIL_RECEIVED.equals(action)
|| ACTION_RCS_MSG_FILE_RECEIVED.equals(action)
|| ACTION_RCS_MSG_FILE_SENT.equals(action)) {
isFile = true;
}
Bundle rcsData = phoneRestrictionPolicy.getRCSMessage(id);
String remoteUri = rcsData.getString(REMOTE_URI);
String senderAlias = rcsData.getString(SENDER_ALIAS);
String contentType = rcsData.getString(CONTENT_TYPE);
String body = rcsData.getString(BODY);
long timestamp = rcsData.getLong(TIMESTAMP);
if (isFile) {
String filePath = rcsData.getString(FILE_PATH);
String thumbnailPath = rcsData.getString(THUMBNAIL_PATH);
}
On this page
Is this page helpful?