Index
1. Networks and Internet
Chapter | Function Description |
---|---|
1.1 Wireless and network settings | Change wireless and networks settings. |
1.2 Wi-Fi settings | Change basic Wi-Fi information settings. Change Wi-Fi certificate information settings. Add Wi-Fi networks. |
1.3 Keep Wi-Fi on during sleep | Change 'Keep Wi-Fi on during sleep' setting. |
1.4 Wi-Fi roaming threshold | Change the roaming threshold for RSSI. |
1.5 Wi-Fi disconnect threshold | Change the threshold RSSI for disconnecting from Access point. |
1.6 APN settings | Change threshold of disconnection settings of Wi-Fi. Add and select an APN settings. |
1.7 Ethernet settings | Change ethernet configuration settings. |
1.8 Global http proxy | Enable / disable global http proxy. |
1.9 Mobile networks | Change mobile networks settings. |
1.10 Data roaming | Enable / disable data roaming. |
1.11 VPN setting | Registering VPN, deleting registration, connecting, disconnecting, setting always-on VPN, and installing certificate for VPN. |
1.12 SIM selection | Change active SIM slot and preferred network mode. |
1.13 Wi-Fi AP background scan | Change background scan mode of Wi-Fi access point. Change background scan interval of Wi-Fi access point. |
1.14 Wi-Fi Channel disable function | Change supported Wi-Fi channel. |
2. User Button
Chapter | Function Description |
---|---|
2.1 User button manager | Change the value of the content provider can control the key action. |
2.2 Select ButtonHandler | Select Button Handler app. Get the package name and class name of Button Handler app selected. |
3. Barcode
Chapter | Function Description |
---|---|
3.1 BarcodeReader | Change barcode profile or barcode parameters of the specified profile. Import a profile automatically. Hide settings menu in pre-installed barcode reader app. Create barcode reading data conversion plug-in. |
4. Hardware Control
Chapter | Function Description |
---|---|
4.1 DeviceRestriction | Enable / disable device restriction settings. |
4.2 Device management password | Add, change or delete password for the device managemnet app. |
4.3 MDMSetting USBStorageWhitelist | Restrict to use USB strage by adding / deletting the specified USB storage information to / from "white list". |
5. Device Settings
Chapter | Function Description |
---|---|
5.1 Change IME | Change to use the IME app specified by the package name. |
5.2 Time setting | Change "Automatic date & time" setting. Change "Automatic time zone" setting. Change "Select time zone" setting. Change "Use 24-hour format"setting. Change "NTP server address setting. |
5.3 Stay awake | Enable / disable stay awake setting. |
5.4 OEM unlocking | Enable / disable OEM unlocking setting. |
5.5 Change smallest width settings |
Change [Smallest Width] setting in developer option setting. |
5.6 Change USB debug settings | Change [USB Debugging] settings in developer option setting. |
5.7 Disable bluetooth discovery | Enable / disable bluetooth discovery setting. |
5.8 Volume Brightness Settings | Change volume / brightness settings of the target function. |
5.9 Change sounds and notifications setting |
Change the setting of ‘Also vibrate for calls’. Change the setting of ‘Screen locking sounds’. Change the setting of ‘Noise suppression during voice call’. Change the setting of ‘Speaker off during earphone use’. Change the setting of ‘Speaker off during earphone use’. |
5.10 Sound and notification | Change the sound and notification setting of 'Dial pad tones'. Change the sound and notification setting of 'Touch Sounds'. Change the sound and notification setting of 'Ring Tone'. Change the sound and notification setting of 'Default notification sound'. |
5.11 Disable Headphone | Enable / disable detect headset plug in. |
5.12 Change wallpaper setting | Change wallpaper setting. |
5.13 DeviceOwnerName | Rename username of multiuser-admin. |
5.14 TouchOperationSettings | Change touch operation settings. Get current touch operation mode. Detect touch panel mode changing. Check active pen battery level. Disable touch detection temporarily. Change stylus pen setting. Change Glove touch setting. Change Rain sensing touch setting. Change Finger sensitivity setting. |
5.15 Disable "install non market apps (Install unknown apps)" settings |
Enable / disable "install non market apps (Install unknown apps)" setting. |
5.16 USB connection protocol setting | Change "USB connection protocol setting". |
5.17 External Device Settings | Enable / disable gadget Settings. Enable / disable USB suspend when gadget device is connected. Enable / disable suspend when docked in cradle. Supply power to device without DC input when system is sleeping. |
5.18 Change external interface | Enable / disable External Interface of USB IF,Cradle IF,Gadget IF. |
5.19 AnimationScaleSettings | Change window animation scale setting. Change transition animation scale setting. Change animator duration scale setting. |
5.20 Date and time setting | Set the date and time setting. |
5.21 Localization Settings | Set user country and language. Select the language to change. |
5.22 BootAnimation | Change bootAnimation file. |
5.23 net.hostname | Set net.hostname as specified character. To return to default, set empty character. |
5.24 Reboot Device | Reboot the device. |
5.25 Delete RecentTasks | Deletes all recent tasks displayed in Recent Activity. |
5.26 Advanced NFC Settings Automation Feature | Change readable NFC card type, P2P mode, CE mode, NDEF skipping and baud rate. |
5.27 Add "Loud mode" in voice speaker |
Enable / disable audio speaker Loud Mode. |
5.28 Flashlight for car mount model | Turn on / off Flashlight. |
5.29 BatteryHealthCheck | Get battery health check information. |
5.30 Power Key Event | Get the status of power key. |
5.31 SmartCardReader Power Setting | Change smartcardreader power state. |
6. System
Chapter | Function Description |
---|---|
6.1 Activity Service AutoLauncher | Register up to 10 activities or services to the system property that automatically launches activity and service when the system starts up. |
6.2 Staging run command setting | Execute up to 10 commands at the same time, and a number from 1 to 10 is assigned to the key and executed. |
6.3 FOTA Direct launch | Update Software (except for upgrade OS version) by remote operation. |
6.4 Remote OS version up | Upgrade OS version by remote operation. |
6.5 Log Sending Application Operating Manual | Upload logs collected by the logging system and the log sending application itself to a server or store them in a storage. |
6.6 Remote System Log save | Start/stop saving system log by remote operation. |
6.7 KittingTool | Send Intent command with plural extra information. |
6.8 SystemProperty Setting | Change Wi-Fi ON / OFF. Change Airplane Mode ON / OFF. Enable / disable display of APP menu. Enable / disable hiding the unknown APP. Enable / disable show / hide in notification bar. |
7. Security
Chapter | Function Description |
---|---|
7.1 Change security setting | Enable / disable "Show passwords" setting. |
7.2 Deactivate DeviceAdministrators | Activate or deactivate each device admin app. |
7.3 ScreenLockSettings | Change password lock mode. Enable / disable lock setting at device startup. Unlock password (current password required). Setting new password. |
7.4 Runtime Permission Setting | Grant or revoke all permissions. |
8. APPS
Chapter | Function Description |
---|---|
8.1 Disable Doze mode | Enable / disable doze mode on system. Enable / disable doze mode for each application. |
8.2 Dashboard Settings | Show / hide the [MENU] placed on up-right side in Dashboard app. Change Dashboard app skin color to White or Gray. Change the tile placement placed on the bottom of Dashboard app. |
8.3 DisableApp | Restrict or unrestrict to run application. |
8.4 MDMSetting hide package | Deactivate / activate any application. |
8.5 Install Package Whitelist Blacklist | Restrict by whitelist and blacklist about installing applications to the terminal using MDM function. |
8.6 Installation application | Install / uninstall any application. |
9. KIOSK
Chapter | Function Description |
---|---|
9.1 Disable Statusbar pull down | Enable / disable the pull-down operation of the status bar. |
9.2 Disable Wi-Fi Bluetooth MultiUserButton in QuickSetting | Enable / disable the Wi-Fi connected device list in quick setting. Enable / disable the bluetooth connected device list in quick setting. Enable / disable the multi user button in quick setting. |
9.3 Disable Quick Setting Icons operation | Enable / disable icon operation in quick setting. |
9.4 Disable Settings, Battery icon in QuickSettings. | Enable / disable Settings icon in quick settings. Enable / disable Battery icon in quick setting. |
9.5 Disable SystemUI QuickSetting | Enable / disable the quick setting. |
9.6 Disable shortcut of touch operation mode setting on Global Action Menu | Enable / disable shortcut of the touch operation mode setting menu. |
9.7 Hide HOTSWAP,STYLUS,GLOVE,RAIN in Global Action Menu | Show / hide of "Battery Warm Swap" menu. Show / hide of "Stylus pen" menu. Show / hide of "Glove touch" menu. Show / hide of "Rain sensing touch" menu. Show / hide of "Restart" menu. Show / hide of "Touch operation mode" menu. |
9.8 Disable Volume button | Enable / disable volume button. |
9.9 Disable HOME,BACK,RECENT button in Naviagtinon Bar | Enable / disable HOME button. Enable / disable BACK button. Enable / disable RECENT button. |
9.10 Disable Power off in Global Action menu | Enable / disable power off button. |
9.11 Disable Press camera button to launch camera | Enable / disable lunch camera application when camera button is pressed and held down. |
9.12 Disable SafeMode | Enable / disable safe mode. |
9.13 Disable Factory Reset | Enable / disable factory reset function. |
9.14 Disable airplane mode | Enable / disable airplane mode. |
9.15 Disable Notification Shortcut | Enable / disable the shortcut operation from the notification. |
9.16 Disable BatterySaver Notification | Enable / disable battery saver notification. |
9.17 Disable BackUpData-AutoSync | Enable / disable the Google Backup function. Enable / disable the Google account automatic sync function. |
9.18 Hide Developer Option in Settings | Show / hide of developer option. |
9.19 Disable GoogleNow | Enable / disable Google now. |
9.20 Disable Screen Capture by hardware key | Enable / disable the screenshot function. |
9.21 Disable Display Rotation | Enable / disable display rotation function. |
9.22 ScreenTimeOut | Set the time until sleep mode. |
9.23 Disable clip board function | Enable / disable clip board function. |
9.24 Home Launcher Settings | Enable / disable Panasonic enterprise launcher. |
9.25 Android Enterprise Migration | Migrating a device from device admin to device owner of Android enterprise management. |
9.26 FactoryReset Settings | Erase all data(factory reset). |
9.27 Volume key shortcut setting | Enable / disable the volume key shortcut. |
10. Storage
Chapter | Function Description |
---|---|
10.1 Copy file | Copy a file or folder from external/internal storage to a specified path. |
10.2 Download file | Downloaded a file that can be saved in the storage, reflect the file to device settings (Kitting) or install on device |
Contents
1. Networks and Internet
Contents
Contents
3. Barcode
Contents
4. Hardware Control
Contents
5. Device Settings
Contents
6. System
Contents
7. Security
Contents
8. APPS
Contents
9. KIOSK
Contents
Overview
SIer documents describe the Intent API specifications and the concept of Panasonic device configuration profiles for Android.
Basically, Panasonic products provide APIs that allows users to create application calling APIs to change device settings or remote system services.
Intent and sendBroadcast() are Android As-is standard API, therefore the behavior of Broadcast using this API is equivalent to Android As-is.
By using the Intent FLAG "Intent.FLAG_INCLUDE_STOPPED_PACKAGES", apps can be invoked to change the setting, even if the service to change system properties or settings is not activated. System properties or settings can be set without using this FLAG parameter.
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marsh-mallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | ✓ | ✓ | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
(C)2020 Panasonic Mobile Communications Co., Ltd.
What's New
Added in Ver1.3
Document | Date | Version | Description |
---|---|---|---|
Wi-Fi disconnect threshold | 2021/03/22 | 1.3 | Updated Supported Models |
Android Enterprise Migration | 2021/03/22 | 1.3 | Newly added |
Wi-Fi roaming threshold | 2021/03/22 | 1.3 | Added "Lowest Threshold value" parameter |
Wi-Fi Channel Disable Function | 2021/03/22 | 1.3 | Newly added |
OEMConfig Information | 2021/03/22 | 1.3 | Removed Function |
ALL | 2021/03/22 | 1.3 | Added "COPY" button for adb command | Android Enterprise Migration | 2021/03/22 | 1.3 | Updated Function prototype and Parameters |
Change IME | 2021/03/22 | 1.3 | Updated Function prototype |
FactoryReset Settings | 2021/03/22 | 1.3 | Newly added |
Volume Key Shortcut Settings | 2021/03/22 | 1.3 | Newly added |
Wi-Fi settings | 2021/03/22 | 1.3 | Updated description of Wi-Fi settings |
BootAnimation | 2021/03/22 | 1.3 | Updated models of BootAnimation |
DeviceOwnerName | 2021/03/22 | 1.3 | Updated models of DeviceOwnerName |
ScreenTimeOut | 2021/03/22 | 1.3 | Updated models of ScreenTimeOut |
Wireless and network settings | 2021/03/22 | 1.3 | Updated models and descriptions of Wireless and network settings |
DisableApp | 2021/03/22 | 1.3 | Updated models of DisableApp |
Home Launcher Settings | 2021/03/22 | 1.3 | Updated models of Home Launcher Settings |
Localization Settings | 2021/03/22 | 1.3 | Updated models of Localization Settings |
MDMSetting USBStorageWhitelist | 2021/03/22 | 1.3 | Updated models of MDMSetting USBStorageWhitelist |
Sound and notification | 2021/03/22 | 1.3 | Updated models and descriptions of Sound and notification |
ScreenLockSettings | 2021/03/22 | 1.3 | Updated models of ScreenLockSettings |
Staging run command setting | 2021/03/22 | 1.3 | Updated models of Staging run command setting |
SystemProperty Setting | 2021/03/22 | 1.3 | Updated models of SystemProperty Setting |
DashboardSettings | 2021/03/22 | 1.3 | Updated models of DashboardSettings |
Disable Battery_icon_in_QuickSettings | 2021/03/22 | 1.3 | Updated models of Disable Battery_icon_in_QuickSettings |
TouchOperationModeSettings API | 2021/03/22 | 1.3 | Updated models of TouchOperationModeSettings API |
Wireless and network settings | 2021/03/22 | 1.3 | Updated models of Wireless and network settings Improved description of SWITCH_LOCATION |
SmartCardReader Power Setting | 2021/03/22 | 1.3 | Newly added |
Version History
Released v1.1 SIer document on Aug,2020
Released v1.2 SIer document on Dec,2020
Added in v1.0
Added in v1.0
Document | Date | Version | Description |
---|---|---|---|
TouchOperationSettings | - | 1.0 | First Release |
FOTA Direct launch | - | 1.0 | First Release |
KittingTool | - | 1.0 | First Release |
Remote System Log save | - | 1.0 | First Release |
Activity Service AutoLauncher | - | 1.0 | First Release |
Install Package Whitelist Blacklist | - | 1.0 | First Release |
Disable Screen Capture by hardware key | - | 1.0 | First Release |
Disable shortcut of touch operation mode setting on Global Action Menu | - | 1.0 | First Release |
Disable SystemUI QuickSetting | - | 1.0 | First Release |
Disable Notification Shortcut | - | 1.0 | First Release |
Disable HOME,BACK,RECENT button in Naviagtinon Bar | - | 1.0 | First Release |
Disable Quick Setting Icons operation | - | 1.0 | First Release |
Disable SafeMode | - | 1.0 | First Release |
Disable BatterySaver Notification | - | 1.0 | First Release |
Delete RecentTasks | - | 1.0 | First Release |
Disable airplane mode | - | 1.0 | First Release |
Disable clip board function | - | 1.0 | First Release |
Disable "install non market apps (Install unknown apps)" settings | - | 1.0 | First Release |
Data roaming | - | 1.0 | First Release |
Reboot Device | - | 1.0 | First Release |
Volume Brightness Settings | - | 1.0 | First Release |
Keep Wi-Fi on during sleep | - | 1.0 | First Release |
Runtime Permission Setting | - | 1.0 | First Release |
Disable BackUpData-AutoSync | - | 1.0 | First Release |
VPN setting | - | 1.0 | First Release |
Disable Display Rotation | - | 1.0 | First Release |
APN settings | - | 1.0 | First Release |
Ethernet settings | - | 1.0 | First Release |
USB connection protocol setting | - | 1.0 | First Release |
Disable Factory Reset | - | 1.0 | First Release |
Disable Settings,Battery icon in QuickSettings | - | 1.0 | First Release |
Disable Headphone | - | 1.0 | First Release |
MDMSetting hide package | - | 1.0 | First Release |
Deactivate DeviceAdministrators | - | 1.0 | First Release |
Global http proxy | - | 1.0 | First Release |
External Device Settings | - | 1.0 | First Release |
SIM selection | - | 1.0 | First Release |
Enable Kiosk mode by Panasonic Enterprise Launcher | - | 1.0 | First Release |
Added in v1.1
Added in v1.1
Document | Date | Version | Description |
---|---|---|---|
BarcodeReader | 2020/08/04 | 1.1 | Updated |
Remote OS version up | 2020/08/04 | 1.1 | Updated |
BatteryHealthCheck | 2020/08/04 | 1.1 | Updated |
Disable Wi-Fi Bluetooth MultiUserButton in QuickSetting | 2020/08/04 | 1.1 | Updated |
Disable Statusbar pull down | 2020/08/04 | 1.1 | Updated |
Disable Power off in Global Action menu | 2020/08/04 | 1.1 | Updated |
Disable Volume button | 2020/08/04 | 1.1 | Updated |
Disable Press camera button to launch camera | 2020/08/04 | 1.1 | Updated |
Wi-Fi AP background scan | 2020/08/04 | 1.1 | Updated |
Disable Doze mode | 2020/08/04 | 1.1 | Updated |
Disable GoogleNow | 2020/08/04 | 1.1 | Updated |
User button manager | 2020/08/04 | 1.1 | Updated |
DeviceRestriction | 2020/08/04 | 1.1 | Updated |
Hide Developer Option in Settings | 2020/08/04 | 1.1 | Updated |
Time setting | 2020/08/04 | 1.1 | Updated |
Stay awake | 2020/08/04 | 1.1 | Updated |
Installation application | 2020/08/04 | 1.1 | Updated |
Wi-Fi settings | 2020/08/04 | 1.1 | Updated |
Hide HOTSWAP,STYLUS,GLOVE,RAIN in Global Action Menu | 2020/08/04 | 1.1 | Updated |
Advanced NFC Settings Automation Feature | 2020/08/04 | 1.1 | Updated |
Disable_Bluetooth_Discovery | 2020/08/04 | 1.1 | Add New |
OEM unlocking | 2020/08/04 | 1.1 | Add New |
Change IME | 2020/08/04 | 1.1 | Add New |
Copy file | 2020/08/04 | 1.1 | Add New |
Download file | 2020/08/04 | 1.1 | Add New |
Change wallpaper setting | 2020/08/04 | 1.1 | Add New |
Change security setting | 2020/08/04 | 1.1 | Add New |
Mobile networks | 2020/08/04 | 1.1 | Add New |
Change sounds and notifications settings | 2020/08/04 | 1.1 | Add New |
Change smallest width settings | 2020/08/04 | 1.1 | Add New |
Change USB debug settings | 2020/08/04 | 1.1 | Add New |
Add "Loud mode" in voice speaker | 2020/08/04 | 1.1 | Add New |
AnimationScaleSettings | 2020/08/04 | 1.1 | Add New |
Wi-Fi roaming threshold | 2020/08/04 | 1.1 | Add New |
Change external interface | 2020/08/04 | 1.1 | Add New |
Flashlight for car mount model | 2020/08/04 | 1.1 | Add New |
Device management password | 2020/08/04 | 1.1 | Add New |
net.hostname | 2020/08/04 | 1.1 | Add New |
Date and time setting | 2020/08/04 | 1.1 | Add New |
Select ButtonHandler | 2020/08/04 | 1.1 | Add New |
Power Key Event | 2020/08/04 | 1.1 | Add New |
Log Sending Application Operating Manual | 2020/08/04 | 1.1 | Add New |
Added in v1.2
Added in v1.2
Document | Date | Version | Description |
---|---|---|---|
OEM Config Information | 2020/12/21 | 1.2 | Add New |
Wi-Fi disconnect threshold | 2020/12/21 | 1.2 | Add New |
Remote OS version up | 2020/12/21 | 1.2 | Update description for FZ-N1 |
Dashboard Settings | 2020/12/21 | 1.2 | Add New |
Home Launcher Settings | 2020/12/21 | 1.2 | Add New |
Localization Settings | 2020/12/21 | 1.2 | Add New |
MDMSetting USBStorageWhitelist | 2020/12/21 | 1.2 | Add New |
BootAnimation | 2020/12/21 | 1.2 | Add New |
DeviceOwnerName | 2020/12/21 | 1.2 | Add New |
ScreenTimeOut | 2020/12/21 | 1.2 | Add New |
Sound and notification | 2020/12/21 | 1.2 | Add New |
Wireless and network settings | 2020/12/21 | 1.2 | Add New |
ScreenLockSettings | 2020/12/21 | 1.2 | Add New |
Staging run command setting | 2020/12/21 | 1.2 | Add New |
SystemProperty Setting | 2020/12/21 | 1.2 | Add New |
DisableApp | 2020/12/21 | 1.2 | Add New |
ALL | 2020/12/21 | 1.2 | Update format for Parameter and Command |
ALL | 2020/12/21 | 1.2 | Add sample command for broadcast Intent |
ALL | 2020/12/21 | 1.2 | Add Supported Models for each Feature |
Disclaimer
This document is provided "as is" without any warranties of any kind. Panasonic does not guarantee that the APIs described in this document will meet users’ requirements or be error-free, that operations or transmissions will be uninterrupted, error-free or secure, or that any results can be achieved. To the fullest extent permitted by law, Panasonic hereby disclaims (for itself and its licensors) all other warranties, express or implied, oral or written, with respect to this document and APIs described in this document, including, without limitation, all implied warranties of title, non-infringement, availability, security, quiet enjoyment, accuracy, integration, merchantability or fitness for any particular purpose and all warranties arising from course of performance.
BarcodeReader
- Introduction
- Intent API Specification
- Auto Import Specification
- Data Editing Plugin Specification
- Hide Setting Menu
- Appendix A - Parameter List for FZ-N1
- Appendix B - Parameter List for FZ-X1
- Appendix C - Symbology Identifier for FZ-X1
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | ✓ | ✓ | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes following features:
- How to change barcode profile or barcode parameters of the specified profile by using the Inten API
- How to automatically import a profile
- How to hide settings menu in pre-installed barcode reader application
- How to create barcode reading data conversion plug-in (Android service)
Intent API specification
User can change barcode profile by using broadcast Intent API.
Also, user can change barcode parameters of the specified profile by using broadcast Intent API.
In this chapter, specifications and sample code for each API are described.
The setDefaultProfile API function can be used to set the specified profile as default profile.
The default profile is reset in following three situations.
- Terminal restart
- User operating the UI menu
- ResetDefaultProfile intent send
It is not possible to switch default profile to the profile named "DefaultProfile" with using setDefaultProfile.
Therefore, user should use resetDefaultProfile API to reset default profile.
If setDefaultProfile is called more than once, the latest setting is effective.
Function prototype
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra(EXTRA_DATA, "<profile name>");
Parameters
ACTION: String "com.panasonic.mobile.barcodereader.api.ACTION_SETDEFAULTPROFILE".
EXTRA_DATA: String "com.panasonic.mobile.barcodereader.api.EXTRA_PROFILENAME".
<profile name>: String of the profile name to be set as default profile (case-sensitive).
Sample source code
This sample source code shows how to set a specified profile "myProfileA" as the default profile.Intent i = new Intent();
i.setAction("com.panasonic.mobile.barcodereader.api.ACTION_SETDEFAULTPROFILE");
i.putExtra("com.panasonic.mobile.barcodereader.api.EXTRA_PROFILENAME", "myProfileA");
Context.this.sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a com.panasonic.mobile.barcodereader.api.ACTION_SETDEFAULTPROFILE --es com.panasonic.mobile.barcodereader.api.EXTRA_PROFILENAME myProfileA
The resetDefaultProfile API function can be used to reset default profile.
Function prototype
Intent i = new Intent();
i.setAction(ACTION);
Parameters
ACTION: String "com.panasonic.mobile.barcodereader.api.ACTION_RESETDEFAULTPROFILE".
Sample source code
This sample source code shows to reset default profile.Intent i = new Intent();
i.setAction("com.panasonic.mobile.barcodereader.api.ACTION_RESETDEFAULTPROFILE");
Context.this.sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a com.panasonic.mobile.barcodereader.api.ACTION_RESETDEFAULTPROFILE
The switchToProfile API function can be used to switch current profile to the specified profile.
The result of profile switching is notified by response intent.
[Request Intent]
Function prototype
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra(EXTRA_DATA, "<profile name>");
Parameters
ACTION: String "com.panasonic.mobile.barcodereader.api.ACTION_SWITCHTOPROFILE".
EXTRA_DATA: String "com.panasonic.mobile.barcodereader.api.EXTRA_PROFILENAME".
<profile name>: String of the profile name to be switched (case-sensitive).
Sample source code
This sample source code shows to switch current profile to the specified profile "myProfileA".Intent i = new Intent();
i.setAction("com.panasonic.mobile.barcodereader.api.ACTION_SWITCHTOPROFILE");
i.putExtra("com.panasonic.mobile.barcodereader.api.EXTRA_PROFILENAME", "myProfileA");
Context.this.sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a com.panasonic.mobile.barcodereader.api.ACTION_SWITCHTOPROFILE --es com.panasonic.mobile.barcodereader.api.EXTRA_PROFILENAME myProfileA
[Response Intent]
Function prototype
action = i.getAction();
kind = i.getStringExtra(EXTRA_DATA_KIND);
result = i.getBooleanExtra(EXTRA_DATA_RESULT, false);
Parameters
ACTION_RESULT: String "com.panasonic.mobile.barcodereader.api.ACTION_RESULT".
EXTRA_DATA_KIND: String "com.panasonic.mobile.barcodereader.api.EXTRA_KIND".
: String type of response intent kind ("switch_profile")
EXTRA_DATA_RESULT: String "com.panasonic.mobile.barcodereader.api.EXTRA_RESULT".
: Boolean type of response intent result (Success : true, Failure : false)
Sample source code
This sample source code shows to receive response of switching current profile to the specified profile.BroadcastReceiver receiver = new BroadcastReceiver{
@Override
public void onReceive(Context c, Intent i) {
action = i.getAction();
kind = i.getStringExtra("com.panasonic.mobile.barcodereader.api.EXTRA_KIND");
result = i.getBooleanExtra("com.panasonic.mobile.barcodereader.api.EXTRA_RESULT", false);
if (action.equals("com.panasonic.mobile.barcodereader.api.ACTION_RESULT")){
// a response intent is received.
}
}
};
IntentFilter filter = new IntentFilter();
filter.addAction = ("com.panasonic.mobile.barcodereader.api. ACTION_RESULT");
registerReceiver(receiver, filter);
The changeParameter API function can be used to change barcode parameters of the specified profile. Single Intent can change one parameter.
Function Prototype
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra(EXTRA_DATA_PROFILE, "<profile name>");
i.putExtra(EXTRA_DATA_NAME, "< parameter name >");
i.putExtra(EXTRA_DATA_VALUE, "<parameter value>");
Parameters
ACTION: String "com.panasonic.mobile.barcodereader.api.ACTION_CHANGEPARAMETER".
EXTRA_DATA_PROFILE: String "com.panasonic.mobile.barcodereader.api.EXTRA_PROFILENAME".
<profile name> : The profile name to switch to as a string (case-sensitive).
EXTRA_DATA_NAME: "com.panasonic.mobile.barcodereader.api.EXTRA_PARAMETERNAME".
<parameter name>: The parameter key name to set as a string (See Appendix A - Parameter List (except for FZ-X1) and Appendix B - Parameter List (for FZ-X1) for more information).
EXTRA_DATA_VALUE: String "com.panasonic.mobile.barcodereader.api.EXTRA_PARAMETERVALUE".
<parameter value >: The parameter value to set as a string (See Appendix A - Parameter List (except for FZ-X1) and Appendix B - Parameter List (for FZ-X1) for more information).
Sample source code
This sample source code shows to change barcode parameter "pref_key_trigger_mode" to "1" of the specified profile "TestProfile".Intent i = new Intent();
i.setAction("com.panasonic.mobile.barcodereader.api.ACTION_CHANGEPARAMETER");
i.putExtra("com.panasonic.mobile.barcodereader.api.EXTRA_PROFILENAME", "TestProfile");
i.putExtra("com.panasonic.mobile.barcodereader.api.EXTRA_PARAMETERNAME", "pref_key_trigger_mode");
i.putExtra("com.panasonic.mobile.barcodereader.api.EXTRA_PARAMETERVALUE", "1");
Context.this.sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a com.panasonic.mobile.barcodereader.api.ACTION_CHANGEPARAMETER --es com.panasonic.mobile.barcodereader.api.EXTRA_PROFILENAME DefaultProfile --es com.panasonic.mobile.barcodereader.api.EXTRA_PARAMETERNAME pref_key_trigger_mode --es com.panasonic.mobile.barcodereader.api.EXTRA_PARAMETERVALUE 1
Auto Import Specification
If user stores one or more profile database files in the following directory, all files will be imported automatically.
/sdcard/com.panasonic.mobile.barcodereader/autoimport
Stored files will be deleted regardless of success or failure.
When some import files are stored, files are imported in the order in which they are found.
User cannot set the order for import.
Regarding the success or failure of import, the result is notified by response intent.
The result of auto import is notified by response intent.
[Response Intent]
Function prototype
action = i.getAction();
kind = i.getStringExtra(EXTRA_DATA_KIND);
result = i.getBooleanExtra(EXTRA_DATA_RESULT, false);
Parameters
ACTION_RESULT: String "com.panasonic.mobile.barcodereader.api.ACTION_RESULT" EXTRA_DATA_KIND: String "com.panasonic.mobile.barcodereader.api.EXTRA_KIND" : String type of response intent kind ("import_db") EXTRA_DATA_RESULT: String "com.panasonic.mobile.barcodereader.api.EXTRA_RESULT" : Boolean type of response intent result (Success : true, Failure : false)
Sample source code
This sample source code shows to receive the response of auto import result.BroadcastReceiver receiver = new BroadcastReceiver{
@Override
public void onReceive(Context c, Intent i) {
action = i.getAction();
kind = i.getStringExtra("com.panasonic.mobile.barcodereader.api.EXTRA_KIND");
result = i.getBooleanExtra("com.panasonic.mobile.barcodereader.api.EXTRA_RESULT", false);
if (action.equals("com.panasonic.mobile.barcodereader.api.ACTION_RESULT")){
// a response intent is received.
}
}
};
IntentFilter filter = new IntentFilter();
filter.addAction = ("com.panasonic.mobile.barcodereader.api. ACTION_RESULT");
registerReceiver(receiver, filter);
Data Editing Plugin Specification
Data Editing Rule
User can set data editing rules for each output of barcode scan by regular expression as follows, by operating pre-installed barcode reader application.
- The data editing rule is described in a format that is combined the search character and replacement character with "=>". If the output does not match the search character, then it is not edited.
- User can write multiple rules by separating them with ";". (Maximum 256 characters)
- The edited result is deleted, when a screen transition is occurred.
- To use "=>" or ";" as just a character, it should be escaped by putting "\ (backslash)" before "=>" or ";".
Sample
User can check the edited result by scanning the barcode on data editing rule setting screen of pre-installed barcode reader application.
Both data before edit and after edit are displayed.
The rule of data editing: "9=>x" : The indication of rule: Replaced with "x", if "9" is included in the scanned data.
The rule of data editing: ^0+=>;
The indication of
rule: Delete "0" at the head of scan data.
Data Editing Plugin
User can edit the scanned data by create and install Data Editing Plugin.
Data Editing Plugin is implemented as Android service.
User can create a Data Editing Plugin from the sample source code below.
User must use "com.panasonic.mobile.barcodereaderplugin" as package name.
Sample source code
This sample source code shows the rule : Replaced with "x", if "9" is included in the scanned data.@Override
public byte[] editApiData(byte[] data) throws RemoteException { // same as "9=>x;(.*)=>@$1@;"
String scanString = new String(data);
String editedString;
if(scanString.indexOf("9") >= 0) {
editedString = scanString.replaceAll("9", "x");
} else {
editedString = "@" + new String(data) + "@";
}
return editedString.getBytes();
}
@Override
public byte[] editIntentData(byte[] data) throws RemoteException { // not edit
return data;
}
@Override
public byte[] editKeyboardData(byte[] data) throws RemoteException { // surround with "@"
return ("@" + new String(data) + "@").getBytes();
}
@Override
public byte[] editIpData(byte[] data) throws RemoteException { // not edit
return data;
}
Remarks
In order to enable Data Editing Plugin, user need to reboot after installation.
If user uninstall Data Editing Plugin, plugin is disabled immediately without reboot.
If user set both Data Editing Plugin and Data Editing Rule (UI operation of pre-installed barcord reader application),
Data Editing Plugin works first, and Data Editing Rule works secondly.
Hide Setting Menu
Normally, user can change the barcode setting (profiles, parameters) using the setting menu.
But, depending on the porpose, there are cases where it is desired to restrict the setting change by the user.
To restrict setting change, a flag in the system property is provided to hide the setting menu.
In pre-installed barcode reader application, this flag is checked to switch visibility of the setting menu.
Even if this system property flag is set as disable (the setting menu is hidden),
the setting can still be changed by the APIs described in the previous chapters.
Function prototype
Define the following Key as the system property flag.
System Property Definition | Description | Note | |
---|---|---|---|
Key | Note | ||
persist.sys.barcodereader | "true" or "false" | A flag to show/hide the setting menu of pre-installed barcode reader application. | "true": Shown "false": Hidden |
Changing the value of this system property can control
show/hide the setting menu of pre-installed barcode reader application.
When the system property is changed, setting changes are applied without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: "panasonic.intent.action.SET_SYSTEM_PROPERTY"
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: "SYS_PROP_KEY"
Value: <intent-key> (Type String)
Name: "SYS_PROP_VALUE"
Value: <system-property-value> (Type String)
intent-key | system-property-value | Description |
BARCODEREADER_SETTING | "true": Shown "false": Hidden |
Change the flag to show/hide the setting menu of pre-installed barcode reader application. |
Sample source code
This sample source sode shows how to hide the setting menu of pre-installed barcode reader application.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.putExtra("SYS_PROP_KEY", "BARCODEREADER_SETTING");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --es SYS_PROP_KEY BARCODEREADER_SETTING --es SYS_PROP_VALUE false
Remarks
- If the value of this system property is not set, or a value other than "false" is set, the behavior will be the same as the behavior as "true" is set.
- In an applications with system privilege, the value of this system property can also directly be set using the undocumented android framework API.
- PACKAGE NAME:android.os
- CLASS NAME:SystemProperties
- METHOD NAME:public static void set(String key, String value);
Example)
SystemProperties.set("persist.sys.barcodereader", "false");
Appendix A - Parameter List (except for FZ-X1)
Barcode reader
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Barcode reader | pref_key_barcode_reader | true,false | Enable or Disable barcode reader. *true - Enable Barcode reader false - Disable Barcode reader |
Symbologies-Aztec
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Aztec | pref_key_aztec | true,false | Enable or Disable Aztec. *true - Enable Aztec false - Disable Aztec |
Aztec Inverse | pref_key_aztec_inverse | 0..2 | This parameter sets the Aztec inverse decoder
setting. *0 - Regular Only The decoder decodes regular Aztec bar codes only. 1 - Inverse Only The decoder decodes inverse Aztec bar codes only. 2 - Inverse Autodetect The decoder decodes both regular and inverse Aztec bar codes. |
Symbologies-Code 39
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Code 39 | pref_key_code_39 | true,false | Enable or disable scanning Code 39. *true - Enable Code 39 false - Disable Code 39 NOTICE: This parameter affects only to barcode reader settings UI. If user wants to affect this setting to system, user should set "pref_key_code_39_code_39" key parameter at the same time. |
Code 39 | pref_key_code_39_code_39 | true,false | Enable or disable scanning Code 39. *true - Enable Code 39 false - Disable Code 39 |
Trioptic Code 39 | pref_key_trioptic_code_39 | true,false | Enable or disable Trioptic Code 39. true - Disable Trioptic Code 39 *false - Enable Trioptic Code 39 |
Length1 | pref_key_length1 | 0..55 | The length of a code refers to the number
of characters (i.e., human readable characters), including
check digit(s) the code contains. Assign lengths for Code 39
to decode either one or two discrete lengths, or a length
within a specific range.
Length1 = "2", Length2 = "55". |
Length2 | pref_key_length2 | 0..55 | |
Convert Code 39 to Code 32 | pref_key_convert_code_39_to_code_32 | true,false | Enable or disable converting Code 39 to Code 32. true - Enable *false – Disable |
Report Code 32 Prefix | pref_key_report_code_32_prefix | true,false | Enable or disable adding the prefix character "A" to
all Code 32 bar codes. true - Enable Code 32 Prefix *false - Disable Code 32 Prefix |
Verify Check Digit | pref_key_verify_check_digit | true,false | Enable this to check the integrity of all Code 39
symbols to verify that the data complies with specified check
digit algorithm. true - Enable Code 39 Check Digit Verification *false - Disable Code 39 Check Digit Verification |
Report Check Digit | pref_key_report_check_digit | true,false | Select whether to transmit Code 39 data with or
without the check digit. true - Transmit Code 39 Check Digit (Enable) *false - Do Not Transmit Code 39 Check Digit (Disable) |
Full ASCII Conversion | pref_key_full_ascii_conversion | true,false | Enable or disable Code 39 Full ASCII. true - Enable Code 39 Full ASCII *false - Disable Code 39 Full ASCII |
Code 39 Reduced Quiet Zone | pref_key_code_39_reduced_quiet_zone | true,false | Enable or disable decoding Code 39 bar codes with
reduced quiet zones. If you select Enable, select a 1D Quiet
Zone Level. true - Enable Code 39 Reduced Quiet Zone *false - Disable Code 39 Reduced Quiet Zone |
Symbologies-Code 128
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Code 128 | pref_key_code_128 | true,false | Enable or disable Code 128. *true - Enable Code 128 false - Disable Code 128 NOTICE: This parameter affects only to barcode reader settings UI. If user wants to affect this setting to system, user should set "pref_key_code_128_code_128" key parameter at the same time. |
Code 128 | pref_key_code_128_code_128 | true,false | Enable or disable Code 128. *true - Enable Code 128 false - Disable Code 128 |
GS1-128 | pref_key_gs1_128 | true,false | Enable or disable GS1-128. *true - Enable GS1-128 false - Disable GS1-128 |
ISBT-128 | pref_key_isbt_128 | true,false | Enable or disable ISBT 128. *true - Enable ISBT 128 false - Disable ISBT 128 |
Length1 | pref_key_code_128_length1 | 0..55 | The length of a code refers to the number of characters
(i.e., human readable characters), including check digit(s) the code contains.
Assign lengths for Code 128 to decode either one or two discrete lengths,
or a length within a specific range.
*Initial value is Length1 = "0", Length2 = "0". |
Length2 | pref_key_code_128_length2 | 0..55 | |
ISBT Concatenation Mode | pref_key_isbt_concatenation_mode | 0..55 | Select an option for concatenating pairs of ISBT code types.
*0 - Disable ISBT Concatenation The device does not concatenate pairs of ISBT codes it encounters. 1 - Enable ISBT Concatenation There must be two ISBT codes in order for the device to decode and perform concatenation. The device does not decode single ISBT symbols. 2 - Autodiscriminate ISBT Concatenation The device decodes and concatenates pairs of ISBT codes immediately. If only a single ISBT symbol is present, the device must decode the symbol the number of times set via ISBT Concatenation Redundancy before transmitting its data to confirm that there is no additional ISBT symbol. |
ISBT Concatenation Redundancy | pref_key_isbt_concatenation_redundancy | 0..20 | With ISBT Concatenation set to Autodiscriminate, this
option sets the number of times the device must decode an
ISBT symbol before determining that there is no additional
symbol. *Initial value is "10". |
Check ISBT Table | pref_key_check_isbt_table | true,false | The ISBT specification includes a table that lists
several types of ISBT bar codes that are commonly used in
pairs. If you enable ISBT Concatenation, enable Check ISBT
Table to concatenate only those pairs found in this table.
Other types of ISBT codes are not concatenated. *true - Enable Check ISBT Table false - Disable Check ISBT Table |
Code 128 Reduced Quiet Zone | pref_key_code_128_reduced_quiet_zone | true,false | Enable or disable decoding Code 128 bar codes with
reduced quiet zones. If you select Enable, select a 1D Quiet
Zone Level. true - Enable Code 128 Reduced Quiet Zone *false - Disable Code 128 Reduced Quiet Zone |
Ignore Code 128 <FNC4> | pref_key_ignore_code_128_fnc4 | true,false | This feature applies to Code 128 bar codes with an
embedded <FNC4> character. true - Enable Ignore Code 128 <FNC4> *false - Disable Ignore Code 128 <FNC4> |
Symbologies-Data Matrix
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Data Matrix | pref_key_data_matrix | true,false | Enable or Disable Data Matrix. *true - Enable Data Matrix false - Disable Data Matrix |
Data Matrix Inverse | pref_key_data_matrix_inverse | 0..2 | Set the Data Matrix inverse decoder setting. *0 - Regular Only The decoder decodes regular Data Matrix bar codes only. 1 - Inverse Only The decoder decodes inverse Data Matrix bar codes only. 2 - Inverse Autodetect The decoder decodes both regular and inverse Data Matrix bar codes. |
Decode Mirror Images | pref_key_decode_mirror_images | 0..2 | Select an option for decoding mirror image Data
Matrix bar codes. *0 - Never Do not decode Data Matrix bar codes that are mirror images. 1 - Always Decode only Data Matrix bar codes that are mirror images. 2 - Auto Decode both mirrored and unmirrored Data Matrix bar codes. |
Symbologies-UPC/EAN/JAN
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
UPC/EAN/JAN | pref_key_upc_ean_jan | true,false | Enable or disable UPC/EAN/JAN. *true - Enable UPC/EAN/JAN false - Disable UPC/EAN/JAN NOTICE: This parameter affects only to barcode reader settings UI. If user wants to affect this setting to system, user should set related parameter ("pref_key_upc_a", "pref_key_upc_a", "pref_key_upc_e", "pref_key_upc_e1", "pref_key_ean_8_jan_8", "pref_key_ean_13_jan_13", "pref_key_bookland_ean" "pref_key_issn_ean" ) at the same time. |
UPC-A | pref_key_upc_a | true,false | Enable or disable UPC-A. *true - Enable UPC-A false - Disable UPC-A |
UPC-E | pref_key_upc_e | true,false | Enable or disable UPC-E. *true - Enable UPC-E false - Disable UPC-E |
UPC-E1 | pref_key_upc_e1 | true,false | Enable or disable UPC-E1. true - Enable UPC-E1 *false - Disable UPC-E1 |
EAN-8/JAN-8 | pref_key_ean_8_jan_8 | true,false | Enable or disable EAN-8/JAN-8. *true - Enable EAN-8/JAN-8 false - Disable EAN-8/JAN-8 |
EAN-13/JAN-13 | pref_key_ean_13_jan_13 | true,false | Enable or disable EAN-13/JAN-13. *true - Enable EAN-13/JAN-13 false - Disable EAN-13/JAN-13 |
Bookland EAN | pref_key_bookland_ean | true,false | Enable or disable Bookland EAN. true - Enable Bookland EAN *false - Disable Bookland EAN |
ISSN EAN | pref_key_issn_ean | true,false | Enable or disable ISSN EAN. true - Enable ISSN EAN *false - Disable ISSN EAN |
Supplemental Mode | pref_key_supplemental_mode | 0..12 | Supplementals are bar codes appended according to
specific format conventions (e.g., UPC A+2, UPC E+2, EAN
13+2). 0 - Ignore UPC/EAN with Supplementals If the decoder is presented with a UPC/EAN plus supplemental symbol, the decoder decodes UPC/EAN and ignores the supplemental characters. 1 - Decode UPC/EAN with Supplementals The decoder only decodes UPC/EAN symbols with supplemental characters, and ignores symbols without supplementals. 2 - Autodiscriminate UPC/EAN Supplementals Decoder decodes UPC/EAN symbols with supplemental characters immediately. If the symbol does not have a supplemental, the decoder must decode the bar code the number of times set via UPC/EAN/JAN Supplemental Redundancy before transmitting its data to confirm that there is no supplemental. 3 - Enable Smart Supplemental Mode Applies to EAN-13 bar codes starting with any prefix listed previously. 4 - Enable 378/379 Supplemental Mode Enable 378/379 Supplemental Mode. 5 - Enable 978/979 Supplemental Mode If you select 978 Supplemental Mode and are scanning Bookland EAN bar codes, see Enable/Disable Bookland EAN to enable Bookland EAN, and select a format using Bookland ISBN Format. 6 - Enable 414/419/434/439 Supplemental Mode Enable 414/419/434/439 Supplemental Mode. 7 - Enable 977 Supplemental Mode Enable 977 Supplemental Mode. 8 - Enable 491 Supplemental Mode Enable 491 Supplemental Mode. 9 - Supplemental User-Programmable Type 1 Applies to EAN-13 bar codes starting with a 3-digit user-defined prefix. Set this 3-digit prefix using User-Programmable Supplementals. *10 - Supplemental User-Programmable Type 1 and 2 Applies to EAN-13 bar codes starting with either of two 3-digit user-defined prefixes. Set the 3-digit prefixes using User-Programmable Supplementals. 11 - Smart Supplemental Plus User-Programmable 1 Applies to EAN-13 bar codes starting with any prefix listed previously or the user-defined prefix set using User-Programmable Supplementals. 12 - Smart Supplemental Plus User-Programmable 1 and 2 Applies to EAN-13 bar codes starting with any prefix listed previously or one of the two user-defined prefixes set using User-Programmable Supplementals. |
User-Programmable Supplemental 1 | pref_key_user_programmable1 | 000..999 | If you selected a Supplemental
User-Programmable option from Decode UPC/EAN/JAN
Supplementals, select User-Programmable Supplemental 1 to set
the 3-digit prefix. Select User-Programmable Supplemental 2
to set a second 3-digit prefix. *Initial value is User-Programmable Supplemental 1 = "0", User-Programmable Supplemental 2 = "0". |
User-Programmable Supplemental 2 | pref_key_user_programmable2 | 000..999 | |
Supplemental Redundancy | pref_key_supplemental_redundancy | 2..30 | With Autodiscriminate UPC/EAN/JAN Supplementals
selected, this option adjusts the number of times a symbol
without supplementals is decoded before transmission. The
range is from two to 30 times. Five or above is recommended
when decoding a mix of UPC/EAN/JAN symbols with and without
supplementals, and the autodiscriminate option is selected. *Initial value is "10". |
UPC-A Report Check Digit | pref_key_upc_ean_jan_upc_a_report_check_digit | true,false | The check digit is the last character of the symbol
used to verify the integrity of the data. Select whether to
transmit the bar code data with or without the UPC-A check
digit. It is always verified to guarantee the integrity of
the data. *true - Transmit UPC-A Check Digit false - Do Not Transmit UPC-A Check Digit |
UPC-E Report Check Digit | pref_key_upc_ean_jan_upc_e_report_check_digit | true,false | The check digit is the last character of the symbol
used to verify the integrity of the data. Select whether to
transmit the bar code data with or without the UPC-E check
digit. It is always verified to guarantee the integrity of
the data. *true - Transmit UPC-E Check Digit false - Do Not Transmit UPC-E Check Digit |
UPC-E1 Report Check Digit | pref_key_upc_ean_jan_upc_e1_report_check_digit | true,false | The check digit is the last character of the symbol
used to verify the integrity of the data. Select whether to
transmit the bar code data with or without the UPC-E1 check
digit. It is always verified to guarantee the integrity of
the data. *true - Transmit UPC-E1 Check Digit false - Do Not Transmit UPC-E1 Check Digit |
UPC-A Preamble | pref_key_upc_a_preamble | 0..2 | Preamble characters are part of the UPC symbol, and
include Country Code and System Character. There are three
options for transmitting a UPC-A preamble to the host device.
Select the appropriate option to match the host system. 0 - Transmit no preamble (<DATA>) *1 - Transmit System Character Only (<SYSTEM CHARACTER> <DATA>) 2 - Transmit System Character and Country Code ("0" for USA) (< COUNTRY CODE> <SYSTEM CHARACTER> <DATA>) |
UPC-E Preamble | pref_key_upc_e_preamble | 0..2 | Preamble characters are part of the UPC symbol, and
include Country Code and System Character. There are three
options for transmitting a UPC-E preamble to the host device.
Select the appropriate option to match the host system. 0 - Transmit no preamble (<DATA>) *1 - Transmit System Character Only (<SYSTEM CHARACTER> <DATA>) 2 - Transmit System Character and Country Code ("0" for USA) (< COUNTRY CODE> <SYSTEM CHARACTER> <DATA>) |
UPC-E1 Preamble | pref_key_upc_e1_preamble | 0..2 | Preamble characters are part of the UPC symbol, and
include Country Code and System Character. There are three
options for transmitting a UPC-E1 preamble to the host
device. Select the appropriate option to match the host
system. 0 - Transmit no preamble (<DATA>) *1 - Transmit System Character Only (<SYSTEM CHARACTER> <DATA>) 2 - Transmit System Character and Country Code ("0" for USA) (< COUNTRY CODE> <SYSTEM CHARACTER> <DATA>) |
Convert UPC-E to UPC-A | pref_key_convert_upc_e_to_upc_a | true,false | Enable this to convert UPC-E (zero suppressed)
decoded data to UPC-A format before transmission. After
conversion, the data follows UPC-A format and is affected by
UPC-A programming selections (e.g., Preamble, Check Digit).
When disabled, UPC-E decoded data is transmitted as UPC-E
data, without conversion. true - Convert UPC-E to UPC-A (Enable) *false - Do Not Convert UPC-E to UPC-A (Disable) |
Convert UPC-E1 to UPC-A | pref_key_convert_upc_e1_to_upc_a | true,false | Enable this to convert UPC-E1 decoded data to UPC-A
format before transmission. After conversion, the data
follows UPC-A format and is affected by UPC-A programming
selections (e.g., Preamble, Check Digit). When disabled,
UPC-E1 decoded data is transmitted as UPC-E1 data, without
conversion. true - Convert UPC-E to UPC-A (Enable) *false - Do Not Convert UPC-E to UPC-A (Disable) |
EAN-8/JAN-8 Zero Extend | pref_key_ean_8_jan_8_zero_extend | true,false | Enable this parameter to add five leading zeros to
decoded EAN-8 symbols to make them compatible in format to
EAN-13 symbols. Disable this to transmit EAN-8 symbols as is. true - Enable EAN/JAN Zero Extend *false - Disable EAN/JAN Zero Extend |
Supplemental AIM ID Format | pref_key_supplemental_aim_id_format | 0..2 | Select an output format when reporting UPC/EAN/JAN
bar codes with Supplementals with Transmit Code ID Character
set to AIM Code ID Character: 0 - Separate transmit UPC/EAN with supplementals with separate AIM IDs but one transmission, i.e.: ]E<0 or 4><data>]E<1 or 2>[supplemental data] *1 - Combined transmit UPC/EAN with supplementals with one AIM ID and one transmission, i.e.: ]E3<data+supplemental data> 2 - Separate Transmissions transmit UPC/EAN with supplementals with separate AIM IDs and separate transmissions, i.e.: ]E<0 or 4><data> ]E<1 or 2>[supplemental data] |
Bookland ISBN Format | pref_key_bookland_isbn_format | 0,1 | If you enabled Bookland EAN using Enable/Disable
Bookland EAN, select one of the following formats for
Bookland data. *0 - Bookland ISBN-10 The decoder reports Bookland data starting with 978 in traditional 10-digit format with the special Bookland check digit for backward-compatibility. Data starting with 979 is not considered Bookland in this mode. 1 - Bookland ISBN-13 The decoder reports Bookland data (starting with either 978 or 979) as EAN-13 in 13-digit format to meet the 2007 ISBN-13 protocol. |
UCC Coupon Extended Code | pref_key_ucc_coupon_extended_code | true,false | Enable this parameter to decode UPC-A bar codes
starting with digit ‘5’, EAN-13 bar codes starting with digit
‘99’, and UPC-A/EAN-128 Coupon Codes. UPCA, EAN-13, and
EAN-128 must be enabled to scan all types of Coupon Codes. true - Enable UCC Coupon Extended Code *false - Disable UCC Coupon Extended Code |
Coupon Report | pref_key_coupon_report | 0..2 | Traditional coupon symbols (old coupon symbols) are
composed of two bar codes: UPC/EAN and Code128. A new coupon
symbol is composed of a single Databar Expanded bar code. The
new coupon format offers more options for purchase values (up
to $999.99) and supports complex discount offers such as a
second purchase requirement. An interim coupon symbol also exists that contains both types of bar codes: UPC/EAN and Databar Expanded. This format accommodates both retailers that do not recognize or use the additional information included in the new coupon symbol, as well as those who can process new coupon symbols. Select one of the following options for decoding coupon symbols: 0 - Old Coupon Symbols Scanning an old coupon symbol reports both UPC and Code 128, scanning an interim coupon symbol reports UPC, and scanning a new coupon symbol reports nothing (no decode). *1 - New Coupon Symbols Scanning an old coupon symbol reports either UPC or Code 128, and scanning an interim coupon symbol or a new coupon symbol reports Databar Expanded. 2 - Both Coupon Formats Scanning an old coupon symbol reports both UPC and Code 128, and scanning an interim coupon symbol or a new coupon symbol reports Databar Expanded. |
UPC Reduced Quiet Zone | pref_key_upc_reduced_quiet_zone | true,false | Enable or disable decoding UPC bar codes with reduced
quiet zones. If you select Enable, select a 1D Quiet Zone
Level. true - Enable UPC Reduced Quiet Zone *false - Disable UPC Reduced Quiet Zone |
Symbologies-QR Code
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
QR Code | pref_key_qr_code | true,false | Enable or Disable QR Code. *true - Enable QR Code false - Disable QR Code |
QR Inverse | pref_key_qr_inverse | 0..2 | Set the QR inverse decoder setting: *0 - Regular Only the decoder decodes regular QR bar codes only. 1 - Inverse Only the decoder decodes inverse QR bar codes only. 2 - Inverse Autodetect the decoder decodes both regular and inverse QR bar codes. |
Symbologies-Australian Postal
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Australian Postal | pref_key_australian_postal | true,false | Enable or Disable Australian Postal. true - Enable Australia Post *false - Disable Australia Post |
Post Format | pref_key_post_format | 0..3 | Select one of the following formats for Australia
Post. *0 - Autodiscriminate (or Smart mode) Attempt to decode the Customer Information Field using the N and C Encoding Tables. 1 - Raw Format Output raw bar patterns as a series of numbers 0 through 3. 2 - Alphanumeric Encoding Decode the Customer Information Field using the C Encoding Table. 3 - Numeric Encoding Decode the Customer Information Field using the N Encoding Table. |
Symbologies-Chinese 2 of 5
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Chinese 2 of 5 | pref_key_chinese_2_of_5 | true,false | Enable or Disable Chinese 2 of 5. true - Enable Chinese 2 of 5 *false - Disable Chinese 2 of 5 |
Length1 | pref_key_chinese_2_of_5_length1 | 0..55 | The length of a code refers to the number
of characters (i.e., human readable characters), including
check digit(s) the code contains. Assign lengths for Chinese
2 of 5 to decode either one or two discrete lengths, or a
length within a specific range.
Length1 = "11", Length2 = "0". |
Length2 | pref_key_chinese_2_of_5_length2 | 0..55 |
Symbologies-Codabar
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Codabar | pref_key_codabar | true,false | Enable or disable Codabar. true - Enable Codabar *false - Disable Codabar |
Length1 | pref_key_codabar_length1 | 0..55 | The length of a code refers to the number
of characters (i.e., human readable characters), including
check digit(s) the code contains. Assign lengths for Codabar
to decode either one or two discrete lengths, or a length
within a specific range.
Length1 = "5", Length2 = "55". |
Length2 | pref_key_codabar_length2 | 0..55 | |
CLSI Editing | pref_key_clsi_editing | true,false | Enable this parameter to strip the start and stop
characters and insert a space after the first, fifth, and
tenth characters of a 14-character Codabar symbol. Enable
this if the host system requires this data format. true - Enable CLSI Editing *false - Disable CLSI Editing |
NOTIS Editing | pref_key_notis_editing | true,false | Enable this parameter to strip the start and stop
characters from a decoded Codabar symbol. Enable this if the
host system requires this data format. true - Enable NOTIS Editing *false - Disable NOTIS Editing |
Symbologies-Code 11
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Code 11 | pref_key_code_11 | true,false | Enable or Disable Code11. true - Enable Code 11 *false - Disable Code 11 |
Length1 | pref_key_code_11_length1 | 0..55 | The length of a code refers to the number
of characters (i.e., human readable characters), including
check digit(s) the code contains. Assign lengths for Code 11
to decode either one or two discrete lengths, or a length
within a specific range.
Length1 = "4", Length2 = "55". |
Length2 | pref_key_code_11_length2 | 0..55 | |
Verify Check Digit | pref_key_code_11_verify_check_digit | 0..2 | This feature allows the decoder to check the
integrity of all Code 11 symbols to verify that the data
complies with the specified check digit algorithm. This selects the check digit mechanism for the decoded Code 11 bar code. To enable this feature, set the number of check digits encoded in the Code 11 symbols. *0 - Disable Code 11 Check Digit Verification 1 - 1 Check Digit 2 - 2 Check Digits |
Report Check Digit | pref_key_code_11_report_check_digit | true,false | Select whether or not to transmit the Code 11 check
digit(s). true - Transmit Code 11 Check Digit(s) (Enable) *false - Do Not Transmit Code 11 Check Digit(s) (Disable) |
Symbologies-Code 93
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Code 93 | pref_key_code_93 | true,false | Enable or Disable Code 93 true - Enable Code 93 *false - Disable Code 93 |
Length1 | pref_key_code_93_length1 | 0..55 | The length of a code refers to the number
of characters (i.e., human readable characters), including
check digit(s) the code contains. Assign lengths for Code 93
to decode either one or two discrete lengths, or a length
within a specific range.
Length1 = "4", Length2 = "55". |
Length2 | pref_key_code_93_length2 | 0..55 |
Symbologies-Composite
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Composite | pref_key_composite | true,false | Enable or Disable Composite. true - Enable Composite *false - Disable Composite NOTICE: This parameter affects only to barcode reader settings UI. If user wants to affect this setting to system, user should set related parameter ("pref_key_composite_cc_c", "pref_key_composite_cc_a_b", "pref_key_composite_tlc_39") at the same time. |
Composite CC-C | pref_key_composite_cc_c | true,false | Enable or disable Composite bar codes of type CC-C. true - Enable CC-C *false - Disable CC-C |
Composite CC-A/B | pref_key_composite_cc_a_b | true,false | Enable or disable Composite bar codes of type CC-A/B. true - Enable CC-A/B *false - Disable CC-A/B |
Composite TLC-39 | pref_key_composite_tlc_39 | true,false | Enable or disable Composite bar codes of type TLC-39. true - Enable TLC39 *false - Disable TLC39 |
UPC Composite Mode | pref_key_upc_composite_mode | 0..2 | Select an option for linking UPC symbols with a 2D
symbol during transmission as if they were one symbol. *0 - UPC Never Linked ardless of whether a 2D symbol is detected. 1 - UPC Always Linked transmit UPC bar codes and the 2D portion. If 2D is not present, the UPC bar code does not transmit. 2 - Autodiscriminate UPC Composites the imager engine determines if there is a 2D portion, then transmits the UPC, as well as the 2D portion if present. |
GS1-128 Emulation Mode for UCC/EAN Composite Codes | pref_key_gs1_128_emulation_mode_for_ucc_ean_composite_codes | true,false | Enable or disable this mode. true - Enable GS1-128 Emulation Mode for UCC/EAN Composite Codes *false - Disable GS1-128 Emulation Mode for UCC/EAN Composite Codes |
Symbologies-Discrete 2 of 5
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Discrete 2 of 5 | pref_key_discrete_2_of_5 | true,false | Enable or Disable Discrete 2 of 5. true - Enable Discrete 2 of 5 *false - Disable Discrete 2 of 5 |
Length1 | pref_key_discrete_2_of_5_length1 | 0..55 | The length of a code refers to the number
of characters (i.e., human readable characters), including
check digit(s) the code contains. Assign lengths for D 2 of 5
to decode either one or two discrete lengths, or a length
within a specific range.
*Initial value is Length1 = "12", Length2 = "0". |
Length2 | pref_key_discrete_2_of_5_length2 | 0..55 |
Symbologies-GS1 DataBar
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
GS1 DataBar | pref_key_gs1_databar | true,false | Enable or Disable GS1 DataBar. true - Enable GS1 DataBar *false - Disable GS1 DataBar NOTICE: This parameter affects only to barcode reader settings UI. If user wants to affect this setting to system, user should set related parameter ("pref_key_gs1_databar_14", "pref_key_gs1_databar_limited", "pref_key_gs1_databar_expanded") at the same time. |
GS1 DataBar-14 | pref_key_gs1_databar_14 | true,false | Enable or disable GS1 DataBar-14. true - Enable GS1 DataBar-14 *false - Disable GS1 DataBar-14 |
GS1 DataBar Limited | pref_key_gs1_databar_limited | true,false | Enable or disable GS1 DataBar Limited. true - Enable GS1 DataBar Limited *false - Disable GS1 DataBar Limited |
GS1 DataBar Expanded | pref_key_gs1_databar_expanded | true,false | Enable or disable GS1 DataBar Expanded. true - Enable GS1 DataBar Expanded *false - Disable GS1 DataBar Expanded |
GS1 DataBar Limited Security Level | pref_key_gs1_databar_limited_security_level | 1..4 | There are four levels of decode security for GS1
DataBar Limited bar codes. There is an inverse relationship
between security and scanner aggressiveness. Increasing the
level of security may result in reduced aggressiveness in
scanning, so only choose the level of security necessary. 1 - Level 1 No clear margin required. This complies with the original GS1 standard, yet might result in erroneous decoding of the DataBar Limited bar codes when scanning some UPC symbols that start with the digits "9" and "7". 2 - Level 2 Automatic risk detection. This level of security may result in erroneous decoding of DataBar Limited bar codes when scanning some UPC symbols. If a misdecode is detected, the scanner operates in Level 3 or Level 1. *3 - Level 3 Security level reflects newly proposed GS1 standard that requires a 5X trailing clear margin. 4 - Level 4 Security level extends beyond the standard required by GS1. This level of security requires a 5X leading and trailing clear margin. |
Convert GS1 DataBar to UPC/EAN | pref_key_convert_gs1_databar_to_upc_ean | true,false | This parameter only applies to GS1 DataBar-14 and GS1
DataBar Limited symbols not decoded as part of a Composite
symbol. Enable this to strip the leading 010 from GS1
DataBar-14 and GS1 DataBar Limited symbols encoding a single
zero as the first digit, and report the bar code as EAN-13. For bar codes beginning with two or more zeros but not six zeros, this parameter strips the leading'0100 and reports the bar code as UPC-A. The UPC-A Preamble parameter that transmits the system character and country code applies to converted bar codes. Note that neither the system character nor the check digit can be stripped. true - Enable Convert GS1 DataBar to UPC/EAN *false - Disable Convert GS1 DataBar to UPC/EAN |
Symbologies-HanXin
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
HanXin | pref_key_hanxin | true,false | Enable or disable Han Xin. true - Enable Han Xin *false - Disable Han Xin |
Han Xin Inverse | pref_key_han_xin_inverse | 0..2 | Set the Han Xin inverse decoder setting. *0 - Regular Only the decoder decodes Han Xin bar codes with normal reflectance only. 1 - Inverse Only the decoder decodes Han Xin bar codes with inverse reflectance only. 2 - Inverse Autodetect the decoder decodes both regular and inverse Han Xin bar codes. |
Symbologies-Interleaved 2 of 5
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Interleaved 2 of 5 | pref_key_interleaved_2_of_5 | true,false | Enable or Disable Interleaved 2 of 5 true - Enable Interleaved 2 of 5 *false - Disable Interleaved 2 of 5 |
Length1 | pref_key_interleaved_2_of_5_length1 | 0..55 | The length of a code refers to the number
of characters (i.e., human readable characters), including
check digit(s) the code contains. Assign lengths for I 2 of 5
to decode either one or two discrete lengths, or a length
within a specific range.
*Initial value is Length1 = "14", Length2 = "0". |
Length2 | pref_key_interleaved_2_of_5_length2 | 0..55 | |
Verify Check Digit | pref_key_interleaved_2_of_5_verify_check_digit | 0..2 | Enable this feature to check the integrity of all I 2
of 5 symbols to verify the data complies with either the
specified Uniform Symbology Specification (USS), or the
Optical Product Code Council (OPCC) check digit algorithm. *0 - Disable 1 - USS Check Digit 2 - OPCC Check Digits |
Report Check Digit | pref_key_interleaved_2_of_5_report_check_digit | true,false | Select whether to transmit I 2 of 5 data with or
without the check digit. true - Transmit I 2 of 5 Check Digit (Enable) *false - Do Not Transmit I 2 of 5 Check Digit (Disable) |
Convert I 2 of 5 to EAN-13 | pref_key_convert_i_2_of_5_to_ean_13 | true,false | Enable this parameter to convert 14-character I 2 of
5 codes to EAN-13, and transmit to the host as EAN-13. To
accomplish this, the I 2 of 5 code must be enabled, and the
code must have a leading zero and a valid EAN-13 check digit. true - Convert I 2 of 5 to EAN-13 (Enable) *false - Do Not Convert I 2 of 5 to EAN-13 (Disable) |
I 2 of 5 Security Level | pref_key_i_2_of_5_security_level | 0..3 | Interleaved 2 of 5 bar codes are vulnerable to
misdecodes, particularly when I 2 of 5 Lengths is set to Any
Length. The scanner offers four levels of decode security for
Interleaved 2 of 5 bar codes. There is an inverse
relationship between security and scanner aggressiveness.
Increasing the level of security can reduce scanning
aggressiveness, so select only the level of security
necessary. NOTE Selecting this option is an extreme measure against mis-decoding severely out-of-spec bar codes. Selecting this level of security significantly impairs the decoding ability of the scanner. If this level of security is required, try to improve the quality of the bar codes. 0 - I 2 of 5 Security Level 0 This setting allows the scanner to operate in its most aggressive state, while providing sufficient security in decoding most in-spec bar codes. *1 - I 2 of 5 Security Level 1 A bar code must be successfully read twice, and satisfy certain safety requirements before being decoded. This default setting eliminates most misdecodes. 2 - I 2 of 5 Security Level 2 Select this option with greater bar code security requirements if Security Level 1 fails to eliminate misdecodes. 3 - I 2 of 5 Security Level 3 If you selected Security Level 2, and misdecodes still occur, select this security level. The highest safety requirements are applied. A bar code must be successfully read three times before being decoded. |
I 2 of 5 Reduced Quiet Zone | pref_key_i_2_of_5_reduced_quiet_zone | true,false | Enable or disable decoding I 2 of 5 bar codes with
reduced quiet zones. If you select Enable, select a 1D Quiet
Zone Level. true - Enable I 2 of 5 Reduced Quiet Zone *false - Disable I 2 of 5 Reduced Quiet Zone |
Symbologies-Japan Postal
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Japan Postal | pref_key_japan_postal | true,false | Enable or disable Japan Postal. true - Enable Japan Postal *false - Disable Japan Postal |
Symbologies-Korean 3 of 5
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Korean 3 of 5 | pref_key_korean_3_of_5 | true,false | Enable or disable Korean 3 of 5. true - Enable Korean 3 of 5 *false - Disable Korean 3 of 5 |
Symbologies-Matrix 2 of 5
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Matrix 2 of 5 | pref_key_matrix_2_of_5 | true,false | Enable or disable Matrix 2 of 5. true - Enable Matrix 2 of 5 *false - Disable Matrix 2 of 5 |
Length1 | pref_key_matrix_2_of_5_length1 | 0..55 | The length of a code refers to the number
of characters (i.e., human readable characters), including
check digit(s) the code contains. Assign lengths for Matrix 2
of 5 to decode either one or two discrete lengths, or a
length within a specific range.
Length1 = "14", Length2 = "0". |
Length2 | pref_key_matrix_2_of_5_length2 | 0..55 | |
Redundancy | pref_key_matrix_2_of_5_redundancy | true,false | Enable or disable Matrix 2 of 5 redundancy. true - Enable Matrix 2 of 5 Redundancy *false - Disable Matrix 2 of 5 Redundancy |
Verify Check Digit | pref_key_matrix_2_of_5_verify_check_digit | true,false | The check digit is the last character of the symbol
used to verify the integrity of the data. Select whether to
transmit the bar code data with or without the Matrix 2 of 5
check digit. true - Enable Matrix 2 of 5 Check Digit *false - Disable Matrix 2 of 5 Check Digit |
Report Check Digit | pref_key_matrix_2_of_5_report_check_digit | true,false | Select whether to transmit Matrix 2 of 5 data with or
without the check digit. true - Transmit Matrix 2 of 5 Check Digit *false - Do Not Transmit Matrix 2 of 5 Check Digit |
Symbologies-Maxicode
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Maxicode | pref_key_maxicode | true,false | Enable or disable Maxicode. true - Enable Maxicode *false - Disable Maxicode |
Symbologies-MicroPDF417
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
MicroPDF417 | pref_key_micropdf417 | true,false | Enable or disable MicroPDF417. true - Enable MicroPDF417 *false - Disable MicroPDF417 |
Code 128 Emulation | pref_key_code_128_emulation | true,false | Enable this parameter to transmit data from certain
MicroPDF417 symbols as if it was encoded in Code 128 symbols.
Transmit AIM Symbology Identifiers must be enabled for this
parameter to work. true - Enable Code 128 Emulation transmits these MicroPDF417 symbols with one of the following prefixes: *false - Disable Code 128 Emulation transmits these MicroPDF417 symbols with one of the following |
Symbologies-MicroQR
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
MicroQR | pref_key_microqr | true,false | Enable or disable MicroQR. true - Enable MicroQR *false - Disable MicroQR |
Symbologies-MSI
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
MSI | pref_key_msi | true,false | Enable or disable MicroPDF417. true - Enable MicroPDF417 *false - Disable MicroPDF417 |
Length1 | pref_key_msi_length1 | 0..55 | The length of a code refers to the number
of characters (i.e., human readable characters), including
check digit(s) the code contains. Assign lengths for MSI to
decode either one or two discrete lengths, or a length within
a specific range.
*Initial value is Length1 = "4", Length2 = "55". |
Length2 | pref_key_msi_length2 | 0..55 | |
Check Digit | pref_key_check_digit | 0,1 | With MSI symbols, one check digit is mandatory and
always verified by the reader. The second check digit is
optional. If the MSI codes include two check digits, select
Two MSI Check Digits to enable verification of the second
check digit. *0 - One MSI Check Digit 1 - Two MSI Check Digits |
Check Digit Scheme | pref_key_check_digit_scheme | 0,1 | Select one of two algorithms for the verification of
the second MSI check digit. 0 - MOD 10/MOD 11 *1 - MOD 10/MOD 10 |
Report Check Digit | pref_key_msi_report_check_digit | true,false | Select whether to transmit MSI data with or without
the check digit. true - Transmit MSI Check Digit(s) (Enable) *false - Do Not Transmit MSI Check Digit(s) (Disable) |
Symbologies-Netherlands KIX Code
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Netherlands KIX Code | pref_key_netherlands_kix_code | true,false | Enable or disable Netherlands KIX Code. true - Enable Netherlands KIX Code *false - Disable Netherlands KIX Code |
Symbologies-PDF417
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
PDF417 | pref_key_pdf417 | true,false | Enable or disable PDF417. true - Enable PDF417 *false - Disable PDF417 |
Symbologies-UK Postal
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
UK Postal | pref_key_uk_postal | true,false | Enable or disable UK Postal. true - Enable UK Postal *false - Disable UK Postal |
Report Check Digit | pref_key_uk_postal_report_check_digit | true,false | Select whether to transmit UK Postal data with or
without the check digit. *true - Transmit UK Postal Check Digit false - Do Not Transmit UK Postal Check Digit |
Symbologies- UPU FICS Postal
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
UPU FICS Postal | pref_key_upu_fics_postal | true,false | Enable or disable UPU FICS Postal. true - Enable UPU FICS Postal *false - Disable UPU FICS Postal |
Symbologies- USPS 4CB/One Code/Intelligent Mail
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
USPS 4CB/One Code/Intelligent Mail | pref_key_usps_4cb_one_code_intelligent_mail | true,false | Enable or disable USPS 4CB/One Code/Intelligent Mail. true - Enable USPS 4CB/One Code/Intelligent Mail *false - Disable USPS 4CB/One Code/Intelligent Mail |
Symbologies- US Postal
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
US Postal | pref_key_us_postal | true,false | Enable or disable US Postal. true - Enable US Postal *false - Disable US Postal NOTICE: This parameter affects only to barcode reader settings UI. If user wants to affect this setting to system, user should set related parameter ("pref_key_us_postnet", "pref_key_us_planet") at the same time. |
US Postnet | pref_key_us_postnet | true,false | Enable or disable US Postnet. true - Enable US Postnet *false - Disable US Postnet |
US Planet | pref_key_us_planet | true,false | Enable or disable US Planet. true - Enable US Planet *false - Disable US Planet |
Report Check Digit | pref_key_us_postal_report_check_digit | true,false | Select whether to transmit US Postal data, which
includes both US Postnet and US Planet, with or without the
check digit. *true - Transmit US Postal Check Digit false - Do Not Transmit US Postal Check Digit |
Data transmission settings
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Preamble | pref_key_preamble | 0-20(Characters) | Enter preamble characters. *Initial value is <Empty>. |
Postamble | pref_key_postamble | 0-20(Characters) | Enter postamble characters. *Initial value is <Empty>. |
Post-Scan Action | pref_key_post_scan_action | 0..36 | *0 - Nothing 1 - TAB 2 - ENTER 3 - DEL 4 - ALT LEFT 5 - ALT RIGHT 6 - CTRL LEFT 7 - CTRL RIGHT 8 - SHIFT LEFT 9 - SHIFT RIGHT 10 - CLEAR 11 - ESCAPE 12 - F1 13 - F2 14 - F3 15 - F4 16 - F5 17 - F6 18 - F7 19 - F8 20 - F9 21 - F10 22 - F11 23 - F12 24 - DPAD UP 25 - DPAD DOWN 26 - DPAD LEFT 27 - DPAD RIGHT 28 - DPAD CENTER 29 - PAGE UP 30 - PAGE DOWN 31 - CAPS LOCK 32 - SCROLL LOCK 33 - NUM LOCK 34 - SEARCH 35 - SOFT LEFT 36 - SOFT RIGHT |
Transmit Code ID Type | pref_key_transmit_code_id_type | 0..2 | A Code ID character identifies the code type of a
scanned bar code. This is useful when decoding more than one
code type. In addition to any single character prefix already
selected, the Code ID character is inserted between the
prefix and the decoded symbol. NOTE If you enable Symbol Code ID Character or AIM Code ID Character, and enable Transmit "No Read" Message, the decoder appends the code ID for Code 39 to the NR message. *0 - None 1 - AIM Code ID Character 2 - Symbol Code ID Character |
Transmit "No Read" Message | pref_key_transmit_no_read_message | true,false | Select whether or not to transmit a No Read message. NOTE If you enable Transmit No Read, and also enable Symbol Code ID Character or AIM Code ID Character for Transmit Code ID Character, the decoder appends the code ID for Code 39 to the NR message. true - Enable No Read the decoder sends the characters NR when a successful decode does not occur before trigger release or the Decode Session Timeout expires. *false - Disable No Read the decoder sends nothing to the host if a symbol does not decode. |
Data transmission settings-Data Editing
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Toughpad Api | pref_key_data_editing_toughpad_api | 0-256(Characters) | Enter data editing rules of Toughpad Api. If the user uses the => as a non-control character, it is escaped by putting a \(reverse solidus) before the =>. If the user uses the; as a non-control character, it is escaped by putting a \(reverse solidus) before the ;. Ex.) Data Editing Rule : ^0+=>; Edit result of when user scan the "001234500007" : upca, 001234500007, 12, 1234500007, 10, ^0+=> The meaning of this rule, remove leading zeros in the scan data. *Initial value is <Empty>. |
Intent output | pref_key_data_editing_intent_output | 0-256(Characters) | Enter data editing rules of Intent output. If the user uses the => as a non-control character, it is escaped by putting a \(reverse solidus) before the =>. If the user uses the; as a non-control character, it is escaped by putting a \(reverse solidus) before the ;. Ex.) Data Editing Rule : ^0+=>; Edit result of when user scan the "001234500007" : upca, 001234500007, 12, 1234500007, 10, ^0+=> The meaning of this rule, remove leading zeros in the scan data. *Initial value is <Empty>. |
Keyboard wedge | pref_key_data_editing_keyboard_wedge | 0-256(Characters) | Enter data editing rules of Keyboard wedge. If the user uses the => as a non-control character, it is escaped by putting a \(reverse solidus) before the =>. If the user uses the; as a non-control character, it is escaped by putting a \(reverse solidus) before the ;. Ex.) Data Editing Rule : ^0+=>; Edit result of when user scan the "001234500007" : upca, 001234500007, 12, 1234500007, 10, ^0+=> The meaning of this rule, remove leading zeros in the scan data. *Initial value is <Empty>. |
IP output | pref_key_data_editing_ip_output | 0-256(Characters) | Enter data editing rules of IP output. If the user uses the => as a non-control character, it is escaped by putting a \(reverse solidus) before the =>. If the user uses the; as a non-control character, it is escaped by putting a \(reverse solidus) before the ;. Ex.) Data Editing Rule : ^0+=>; Edit result of when user scan the "001234500007" : upca, 001234500007, 12, 1234500007, 10, ^0+=> The meaning of this rule, remove leading zeros in the scan data. *Initial value is <Empty>. |
Data transmission settings
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Encoding | pref_key_data_editing_encoding | 0..23 | Select the data editing encoding. 0 - IBM437 United States 1 - IBM737 Greek 2 - IBM775 Baltic 3 - IBM850 Latin-1 4 - IBM852 Latin-2 5 - IBM855 Cyrillic 6 - IBM857 Turkish 7 - IBM866 Russian 8 - Windows-1250 Central European 9 - Windows-1251 Cyrillic 10 - Windows-1252 Latin-1 11 - Windows-1253 Greek 12 - Windows-1254 Turkish 13 - Windows-1257 Baltic 14 - KOI8-R Russian 15 - KOI8-U Ukrainian 16 - ISO-8859-2 Latin-2 17 - ISO-8859-3 Latin-3 18 - ISO-8859-4 Baltic 19 - ISO-8859-5 Cyrillic 20 - ISO-8859-7 Greek 21 - UTF-7 *22 - UTF-8 23 - Shift-JIS |
Reader settings
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Trigger Mode | pref_key_trigger_mode | 0..3 | Select a trigger mode. 0 - Toggle When user presses the trigger, the device will transitions to DECODING state. Even if the user releases the trigger, DECODING state will continue. When the user presses the trigger again, the device returns to the IDLE state. After a successful scan, the device returns to the IDLE state. If a timeout(Decode Timeout) occurs, the device returns to the IDLE state. *1 - Level While pressing the trigger, the device is a DECODING state. When user releases the trigger, the device returns to the IDLE state. After a successful scan, the device returns to the IDLE state. If a timeout(Decode Timeout) occurs, the device returns to the IDLE state. 2 - Presentation When the user presses the trigger, the device will transitions to MOTION DETECTING state(LED light is blinking). Even if the user releases the trigger, MOTION DETECTING state will continue. When the user presses the trigger again, the device returns to the IDLE state. When the device detects the motion, the device will transition to DECODING state(LED light is blinking). After a successful scan, the device returns to the MOTION DETECTING state(LED light is blinking). If a timeout(2sec) occurs, the device returns to the MOTION DETECTING state(LED light is blinking). 3 - Auto Aim When the user presses the trigger, the device will transitions to MOTION DETECTING state(LED light is blinking). [Before release the trigger] When the device detects the motion, the device will transition to AIMING state(LED light is blinking). If a timeout(2sec) occurs, the device returns to the MOTION DETECTING state(LED light is blinking). When user releases the trigger, the device will transitions to DECODING state. [After release the trigger] When the user presses the trigger again, the device returns to the IDLE state. After a successful scan, the device returns to the MOTION DETECTING state(LED light is blinking). When the device detects the motion, the device will transition to DECODING state. If a timeout(Decode Timeout) occurs, the device returns to the MOTION DETECTING state(LED light is blinking). 4 - Continuous When user press the trigger, the device will transitions to DECODING state. Even if the user releases the trigger, DECODING state will continue. When the user presses the trigger again, the device returns to the IDLE state. After a successful scan, the device continues the DECODING state. If a timeout(Decode Timeout) occurs, the device NOT returns to the IDLE state. 5 - Aim When the user presses the trigger, the device will transitions to AIMING state. When user releases the trigger, the device will transitions to DECODING state. [After release the trigger] When the user presses the trigger again, the device returns to the IDLE state. After a successful scan, the device returns to the IDLE state. If a timeout(Decode Timeout) occurs, the device returns to the IDLE state. |
Picklist Mode | pref_key_picklist_mode | true,false | Picklist mode enables the decoder to decode only bar
codes aligned under the center of the laser aiming pattern.
Select one of the following picklist modes. NOTE Picklist mode works via an approximation of the aiming pattern center. In most cases this approximation is fully accurate. However, decodes can occur when the target bar code is near but not directly under the center of the aiming pattern. true - Enabled Always - Picklist mode is always enabled. *false - Disabled Always - Picklist mode is always disabled. NOTICE: This parameter affects only to barcode reader settings UI. If user wants to affect this setting to system, user must set "pref_key_picklist_mode_DEVICE" key parameter at the same time. pref_key_picklist_mode_DEVICE parameter value is made as follow : [pref_key_picklist_mode = true] pref_key_picklist_mode_DEVICE must be set "2". [pref_key_picklist_mode = false] pref_key_picklist_mode_DEVICE must be set "0". This parameter is set to true when Trigger Mode is set to Aim. |
Decode Timeout | pref_key_decode_timeout | true,false | Enable or Disable Decode Timeout. true – Enable *false – Disable NOTICE: This parameter affects only to barcode reader settings UI. If user wants to affect this setting to system, user must set "pref_key_decode_timeout_period_DEVICE" key parameter at the same time. pref_key_decode_timeout_period_DEVICE parameter value is made as follow : [pref_key_decode_timeout = true] pref_key_decode_timeout_period_DEVICE must be set .same as pref_key_decode_timeout_period value. [pref_key_decode_timeout = false] pref_key_decode_timeout_period_DEVICE must be set "99". |
Decode Timeout Period (x100ms) | pref_key_decode_timeout_period | 5..99 | Set the maximum time decode processing continues
during a scan attempt, available in 0.1 second increments
from 0.5 to 9.9 seconds. The default timeout is 9.9 seconds. *Initial value is "99". NOTICE: This parameter affects only to barcode reader settings UI. If user wants to affect this setting to system, user must set "pref_key_decode_timeout_period_DEVICE" key parameter at the same time. pref_key_decode_timeout_period_DEVICE parameter value is made as follow : [pref_key_decode_timeout = true] pref_key_decode_timeout_period_DEVICE must be set .same as pref_key_decode_timeout_period value. [pref_key_decode_timeout = false] pref_key_decode_timeout_period_DEVICE must be set "99". |
Timeout Between Decodes (x100ms) | pref_key_timeout_between_decodes | 1..99 | Use this option in presentation mode to prevent
multiple reads of a symbol left in the imager engine’s field
of view. The timeout begins when you remove the symbol from
the field of view. *Initial value is "6". |
Continuous Decode Interval (x100ms) | pref_key_continuous_decode_interval | 1..99 | Set the interval time between decodes, available in 0.1 second increments from 0.1 to 9.9 seconds. The default timeout is 0.1 seconds.*Initial value is "1". |
Illumination | pref_key_illumination | true,false | Enable or disable illumination. *true - Enable Decoding Illumination the decoder turns on illumination every image capture to aid decoding. false - Disable Decoding Illumination the decoder does not use decoding illumination. |
Illumination Power Level | pref_key_illumination_power_level | 0..10 | This parameter sets the level of illumination by
altering laser/LED power. The default is 10, which is maximum
illumination. For values from 0 to 10, illumination varies
from lowest to highest level. This parameter affects both
decoding and motion illumination. *Initial value is "10". |
Motion Illumination | pref_key_motion_illumination | true,false | This parameter only applies to hands-free and auto
aim trigger modes. *true - Enable Motion Illumination turns on motion illumination in hands-free and auto aim trigger modes. false - Disable Motion Illumination turns off motion illumination. |
Inverse 1D Mode | pref_key_inverse_1d_mode | 0..2 | Set the 1D inverse decoder setting. *0 - Regular Only the decoder decodes regular 1D bar codes only. 1 - Inverse Only the decoder decodes inverse 1D bar codes only. 2 - Inverse Autodetect the decoder decodes both regular and inverse 1D bar codes. |
Fuzzy 1D Processing | pref_key_fuzzy_1d_processing | true,false | This option is enabled by default to optimize decode
performance on 1D bar codes, including damaged and poor
quality symbols. Disable this only if you experience time
delays when decoding 2D bar codes, or in detecting a no
decode. *true - Enable Fuzzy 1D Processing false - Disable Fuzzy 1D Processing |
Mobile Phone/Display Mode | pref_key_mobile_phone_display_mode | true,false | This mode improves bar code reading performance on
mobile phones and electronic displays. Enabling this mode
improves accuracy by reducing the probability of no-decodes
or miss-decodes, but may increase decode time. true - Enable Mobile Phone/Display Mode *false - Disable Mobile Phone/Display Mode |
Reader settings-Multi Decode Mode
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Multi Decode Mode | pref_key_multi_decode_mode_multi_decode_mode | true,false | This mode enables decoding multiple bar codes within
the scanner's field of view. Select one of the following
options. true - Enable Multi Decode Mode *false - Disable Multi Decode Mode |
Bar Codes to Read | pref_key_bar_codes_to_read | 1..10 | This parameter sets the number of bar codes to read
when Multi Decode Mode is enabled. *Initial value is "1". |
Full Read Mode | pref_key_full_read_mode | true,false | Select when to generate a decode event to the calling
application when Multi Decode Mode is enabled. *true - Only generate the callback to onDecodeComplete() when at least the number of bar codes set in Bar Codes to Read are decoded. false - Generate a decode event after one or more bar codes are decoded. |
Reader settings
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Decode Aiming Pattern | pref_key_decode_aiming_pattern | true,false | This parameter only applies in Decode Mode. *true - Enable Decode Aiming Pattern this projects the aiming pattern during bar code capture. false - Disable Decode Aiming Pattern this turns off the aiming pattern. |
Hands-free Decode Aiming Pattern | pref_key_hands_free_decode_aiming_pattern | true,false | This parameter only applies in hands-free mode. *true - Enable Hands-free Decode Aiming Pattern this projects the aiming pattern during hands-free mode. false - Disable Hands-free Decode Aiming Pattern this turns off the aiming pattern during hands-free mode. |
Audio Feedback | pref_key_audio_feedback | URI string(Characters) | Enter an URI of audio tone to sound upon a good
decode. User can know the URI referring to RingtoneManager. If user wants to set silence, set this parameter empty. Ex. "content://media/internal/audio/media/32" *Initial value is "default_beep". User can add audio tone by placing a sound source files in the following directory, /sdcard/Notifications/ |
Haptic Feedback | pref_key_haptic_feedback | true,false | Enable the device to vibrate upon a good decode. true – Enable *false - Disable |
LED Feedback | pref_key_led_feedback | true,false | Enable the device to LED notice upon a good decode. true - Enable *false - Disable |
Custom Parameter | pref_key_custom_parameter | arbitrary | User can set parameters that cannot be set from the BarcodeReader application UI. - Set the parameter value as a set of ID / Value separated by ":" - When setting multiple parameter values, separate them with "," Ex.) 574:0 |
Security levels
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Redundancy Level | pref_key_redundancy_level | 1..4 | The decoder offers four levels of decode redundancy.
Select higher redundancy levels for decreasing levels of bar
code quality. As redundancy levels increase, the decoder’s
aggressiveness decreases. *1 - Redundancy Level 1 The following code types must be successfully read twice before being decoded: Codabar:8 characters or less MSI:4 characters or less D 2 of 5:8 characters or less I 2 of 5:8 characters or less 2 - Redundancy Level 2 The following code types must be successfully read twice before being decoded: All Code type: All Code Length. 3 - Redundancy Level 3 Code types other than the following must be successfully read twice before being decoded. The following codes must be read three times: MSI Plessey:4 characters or less D 2 of 5:8 characters or less I 2 of 5:8 characters or less Codabar:8 characters or less 4 - Redundancy Level 4 The following code types must be successfully read three times before being decoded: All Code type: All Code Length. |
Security Level | pref_key_security_level | 0..3 | The decoder offers four levels of decode security for
delta bar codes, which include the Code 128 family, UPC/EAN,
and Code 93. Select increasing levels of security for
decreasing levels of bar code quality. There is an inverse
relationship between security and decoder aggressiveness, so
choose only that level of security necessary for any given
application. 0 - Security Level 0: This setting allows the decoder to operate in its most aggressive state, while providing sufficient security in decoding most "in-spec" bar codes. This setting allows the decoder to operate in its most aggressive state, while providing sufficient security in decoding most "in-spec" bar codes. *1 - Security Level 1 Select this option if misdecodes occur. This default setting eliminates most misdecodes. 2 - Security Level 2 Select this option if Security level 1 fails to eliminate misdecodes. 3 - Security Level 3 If misdecodes still occur with Security Level 2, select this security level. Be advised, selecting this option is an extreme measure against mis-decoding severely out of spec bar codes. Selecting this level of security significantly impairs the decoding ability of the decoder. If this level of security is necessary, try to improve the quality of the bar codes. |
Intercharacter Gap Size | pref_key_intercharacter_gap_size | 6,10 | The Code 39 and Codabar symbologies have an
intercharacter gap that is typically quite small. Due to
various bar code printing technologies, this gap can grow
larger than the maximum size allowed, preventing the decoder
from decoding the symbol. If this problem occurs, select
Large Intercharacter Gaps to tolerate these
out-of-specification bar codes. *6 - Normal Intercharacter Gaps 10 - Large Intercharacter Gaps |
1D Quiet Zone Level | pref_key_1d_quiet_zone_level | 0..3 | This feature sets the level of aggressiveness in
decoding bar codes with a reduced quiet zone (the area in
front of and at the end of a bar code), and applies to
symbologies enabled by a Reduced Quiet Zone parameter.
Because higher levels increase the decoding time and risk of
misdecodes, we strongly recommends enabling only the
symbologies which require higher quiet zone levels, and
leaving Reduced Quiet Zone disabled for all other
symbologies. 0 - 1D Quiet Zone Level 0 The decoder performs normally in terms of quiet zone. *1 - 1D Quiet Zone Level 1 The decoder performs more aggressively in terms of quiet zone. 2 - 1D Quiet Zone Level 2 The decoder only requires one side EB (end of bar code) for decoding. 3 - 1D Quiet Zone Level 3 The decoder decodes anything in terms of quiet zone or end of bar code. |
Keyboard wedge
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Keyboard wedge | pref_key_keyboard_wedge | true,false | Enable or Disable Keyboard wedge Keyboard wedge function means that the value of barcode object is inputted in activate text box. *true - Enable false - Disable |
Transmission mode | pref_key_keyboard_wedge_transmission_mode | 0..1 | User can define transmission mode using keyboard
wedge, *0 - Send as Text 1 – Send as Keycode |
Intent output settings
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Intent output | pref_key_intent_output | true,false | Enable or Disable Intent output function. true – Enable *false – Disable User can get barcode data via intent that user created. If user set this parameter true, user must set intent information (action name/Intent category name/Intent delivery type) by setting related parameters. Intent contents: Intent contains the following data. User can get these data by Intent.getStringExtra() and Intent.getSerializableExtra().
|
Intent action name | pref_key_intent_action_name | 0-100(Characters) | User can define Intent action name. This setting must be within 100 characters. *Initial value is <Empty>. |
Intent category name | pref_key_intent_category_name | 0-100(Characters) | User can define Intent category name. This setting must be within 100 characters. Enter category name of intent. *Initial value is <Empty>. |
Use foreground package name | pref_key_use_foreground_package_name | true,false | Enable or Disable Use foreground package name. *true – Enable false – Disable If the user selects Use foreground package name, the package name of the foreground application is automatically set. |
Intent package name | pref_key_intent_package_name | 0-100(Characters) | User can define Intent package name. This setting must be within 100 characters. Enter package name of intent. *Initial value is <Empty>. |
Intent delivery type | pref_key_intent_delivery_type | 0..2 | Select delivery type of intent. *0 - Send via StartActivity 1 - Send via startService 2 - Broadcast intent |
IP output settings
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
IP output | pref_key_ip_output | true,false | Enable or Disable IP output function. true – Enable *false - Disable IP packet is sent according to IP address/Port/Protocol that user defined. If user set this parameter true, user must set IP information (IP address, port, host name). IP packet is contained the scan data as a binary data. For example Barcode application sends as below.
|
Protocol | pref_key_protocol | 0,1 | Select IP protocol *0 - TCP 1 - UDP |
Hostname | pref_key_hostname | 0-253(Characters) | Enter the host name. This setting must be within 253 characters. *Initial value is <Empty>. |
Port | pref_key_port | 1..65535 | Enter the port number. This value must be between 1 and 65535. *Initial value is "49152". |
OCR-A | pref_key_ocr_a | true,false | Enable or disable OCR-A:
|
OCR-A Variant | pref_key_ocr_a_variant | 0..3 | Font variant sets a processing algorithm
and default character subset for the given font. Select one
of the following supported variants. Selecting the most
appropriate font variant optimizes performance and accuracy.
|
OCR-B | pref_key_ocr_b | true,false | Enable or disable OCR-B:
|
OCR-B Variant | pref_key_ocr_b_variant | 0..20 | Select one of the following supported
OCR-B variants.
|
MICR E13B | pref_key_ocr_micr_e13b | true,false | Enable or disable MICR E13B.
|
US Currency Serial Number | pref_key_ocr_us_currency | true,false | Enable or disable MICR E13B.
|
OCR Orientation | pref_key_ocr_orientation | 0..4 | Select one of five options to specify the orientation
of an OCR string to be read. Setting an incorrect orientation
can cause misdecodes.
|
OCR Lines | pref_key_ocr_lines | 1..3 | Select the specific number of OCR lines to decode.
Selecting Visas, TD1, or TD2 ID cards automatically sets the
appropriate number of OCR Lines.
|
OCR Minimum Charactors | pref_key_ocr_minimum_char | 3-100 | Set the minimum number of OCR characters (not including spaces) per line to decode from 3 and 100. Strings of OCR characters less than the minimum are ignored. The default is 3. |
OCR Maximum Charactors | pref_key_ocr_maximum_char | 3-100 | Set the maximum number of OCR characters (including spaces) per line to decode from 3 and 100. Strings of OCR characters greater than the maximum are ignored. The default is 100. |
OCR Subset | pref_key_ocr_subset | (Characters) | To set or modify the OCR font subset, first enable
the appropriate OCR font(s). Next, for this parameter, set a string of numbers and letters in the application to form the desired OCR Subset. To cancel an OCR subset, for OCR-A or OCR-B, set OCR-A variant Full ASCII or OCR-B variant Full ASCII, and clear any previously set subsets to a null string. For MICR E13B or US Currency Serial Number, create a subset which includes all allowed characters in that character set. |
OCR Quiet Zone | pref_key_ocr_quiet_zone | 20-99 | Set a quiet zone in the range of 20 - 99. The default is 50, indicating a six character width quiet zone. |
OCR Template | pref_key_ocr_template | (Characters) | To set or modify the OCR decode template, select the
following numbers and letters to form the template
expression. The default is 54R which accepts any character OCR strings.
|
OCR Check Digit Modulus | pref_key_ocr_check_digit_modulus | 001-099 | To select the Check Digit Modulus, such as 10 for modulo 10, set this parameter to a three-digit number from 001 to 099 representing the check digit. The default is 1. |
OCR Check Digit Multiplier | pref_key_ocr_check_digit_Multiplier | (Characters) | This option sets OCR check digit multipliers for the
character positions. For check digit validation, each character in scanned data has an equivalent weight used in the check digit calculation. Zebra device OCR ships with the following weight equivalents: 0 = 0 A = 10 K = 20 U = 30 1 = 1 B = 11 L = 21 V = 31 2 = 2 C = 12 M = 22 W = 32 3 = 3 D = 13 N = 23 X = 33 4 = 4 E = 14 O = 24 Y = 34 5 = 5 F = 15 P = 25 Z = 35 6 = 6 G = 16 Q = 26 Space = 0 7 = 7 H = 17 R = 27 8 = 8 I = 18 S = 28 9 = 9 J = 19 T = 29 All other characters are equivalent to one (1). You can define the multiplier string if it is different from the default. 121212121212 (default) 123456789A (for ISBN, Product Add Right to Left. For example: ISBN 0 2 0 1 1 8 3 9 9 4 Multiplier 10 9 8 7 6 5 4 3 2 1 Product 0 18 0 7 6 40 12 27 18 4 Product add 0+ 18+ 0+ 7+ 6+ 40+ 12+ 27+ 18+ 4= 132 ISBN uses modulo 11 for its check digit. In this case, 132 is divisible by 11, so it passes the check digit. To set the check digit multiplier, set numbers and letters to form the multiplier string. |
OCR Check Digit Validation | pref_key_ocr_check_digit_Validation | 0..9 | Use OCR Check Digit Validation to protect against
scanning errors by applying a check digit validation scheme. Select one of the following options. See the remainder of this section for explanations of options.
|
Inverse OCR | pref_key_ocr_inverse | 0..2 | Inverse OCR is white or light words on a black or
dark background. Set an option for decoding inverse OCR.
|
Appendix B - Parameter List (for FZ-X1)
Barcode reader
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Barcode reader | pref_key_barcode_reader | true,false | Enable or Disable barcode reader. *true - Enable Barcode reader false - Disable Barcode reader |
Symbologies-Aztec
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Aztec | pref_key_aztec | true,false | Enable or Disable Aztec. *true - Enable Aztec false - Disable Aztec |
Structured append | pref_key_structured_append | true,false | Enable or disable Aztec structured append. This
allows you to send linked data in more than one code. See
also "Header Transmission". true - Enable *false - Disable |
Header transmission | pref_key_header_transmission | true,false | Enable or disable Aztec structured append header
transmission. true - Enable *false - Disable |
Runes | pref_key_runes | true,false | Enable or disable Aztec Runes. When enabled Aztec
Runes, which are special Aztec symbols, can be decoded. true - Enable *false - Disable |
EAN 128 Emulation | pref_key_ean_128_emulation | true,false | Enable or disable Aztec EAN 128 emulation. true - Enable *false - Disable |
User defined symbology ID | pref_key_user_defined_symbology_id | 0-4(Characters) | The UDSI is transmitted as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "D3". |
Code mark | pref_key_code_mark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies-Code39
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Code39 | pref_key_code39 | true,false | Enable or disable Code 39. The Code 39 character set
consists of 43 characters except when full ASCII conversion
is enabled. *true - Enable false - Disable |
Check digit transmission | pref_key_code39_check_digit_transmission | true,false | Enable or disable check digit transmission for Code
39. true - Enable *false - Disable |
Check digit verification | pref_key_code39_check_digit_verification | 0..3 | There are 3 types of check digit verification for
Code 39: Modulo 43: Standard check digit for Code 39 that uses the Modulo 43 algorithm. It provides extra validation of data. French CIP: Check digit used for the French pharmaceutical industry. It is only used for codes with 7 characters. Italian CPI: Check digit used by the Italian pharmaceutical industry, also known as Code 32. If the checksum is not validated the code is transmitted as standard Code 39.Activating one type of check digit deactivates all other check digits. *0 - Disable 1 - modulo 43 2 - French CIP 3 - Italian CPI |
Length mode | pref_key_code93_length_mode | 0..2 | Length 1 (L1), Length 2 (L2) and Length 3 (L3) are
used differently depending on the length mode. *0 - L1 as minimum length Codes with as many characters as specified by L1 and longer are read. L2 and L3 are not used. 1 - L1, L2, L3 as fixed lengths Only codes that comply with the lengths specified by L1, L2 and L3 will be read. 2 - L1 as minimum, L2 as maximum lengths Codes that are at least the minimum length specified by L1 and not longer than the maximum length specified by L2 are read. L3 is not used. |
Set length L1 | pref_key_code93_set_length_l1 | 0..255 | Use L1, L2 and L3 to compose acceptable
bar code lengths depending on the length mode used. Minimum
length for Code 39 is 3 characters. Bar code length = <start> + <bar code data> + [check digit] + <stop> *Initial value is L1="0", L2="0", L3="0". |
Set length L2 | pref_key_code93_set_length_l2 | 0..255 | |
Set length L3 | pref_key_code93_set_length_l3 | 0..255 | |
Start/Stop transmission | pref_key_code39_start_stop_transmission | true,false | Enable or disable the start/stop transmission for
Code 39 and Trioptic Code 39. true - Enable *false - Disable |
Accepted start character | pref_key_code39_accepted_start_character | 1..3 | Select the accepted start characters for Code 39. 1 - " $ " only *2 - " * " only 3 - " $ " and " * " |
Format | pref_key_code39_format | 0,1 | When Code 39 full ASCII conversion is enabled Code 39
bar codes are transmitted with an extended character set. The
full 128 ASCII character set is encoded in Code 39 by
combining two regular Code 39 characters. *0 - Standard 43 characters 1 - Full ASCII (extended) |
Reading range | pref_key_code39_reading_range | 0,1 | Reading range can be set to standard or extended. Use
extended reading range when long distance reading is
important for your application. When using this mode a
special algorithm is used and reading distances are
significantly increased. Reading range is valid on Code 39
and Trioptic Code 39. 0 - normal *1 - extended |
Reading tolerance | pref_key_code39_reading_tolerance | 0..2 | Set the tolerance level for reading "hard to read"
bar codes: *0 - high 1 - medium 2 - low |
Unconventional Code39 | pref_key_code39_unconventional_code39 | true,false | Enable unconventional Code 39 when scanning Code 39
bar codes with a large intercharacter gap and/or a large
narrow and wide element ratio. true - Enable *false - Disable |
Special keys interpretation | pref_key_code39_special_key_interpretation | true,false | Special keyboard keys such as <Enter> and
<Tab> can be interpreted and transmitted by using
dual-character combinations printed in code 39 Full ASCII. true - Enable *false - Disable |
User defined symbology ID | pref_key_code39_user_defined_symbology_id | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "B1". |
Code mark | pref_key_code39_code_mark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies-Code128
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Code128 | pref_key_code128 | true,false | Enable or disable Code 128. *true - Enable false - Disable NOTICE: This parameter affects only to barcode reader settings UI. If user wants to affect this setting to system, user should set "pref_key_code128_code128", "pref_key_code128_gs1_128", "pref_key_code128_isbt_128" key parameter at the same time. |
Code128 | pref_key_code128_code128 | true,false | Enable or disable Code 128. *true - Enable false - Disable |
GS1-128 | pref_key_code128_gs1_128 | true,false | Enable or disable GS1-128. *true - Enable false - Disable |
ISBT128 | pref_key_code128_isbt_128 | true,false | Enable or disable ISBT. true - Enable *false - Disable |
Reading Range | pref_key_code128_reading_range | 0,1 | Reading range can be set to standard or extended. Use
extended reading range when long distance reading is
important for your application. When using this mode a
special algorithm is used and reading distances are
significantly increased. 0 - normal *1 - extended |
Reading Tolerance | pref_key_code128_reading_tolerance | 0..2 | Set the tolerance level for reading hard to read bar
codes: *0 - high 1 - medium 2 - low |
Length mode | pref_key_code128_barcode_length_mode | 0..2 | Length 1 (L1), Length 2 (L2) and Length 3 (L3) are
used differently depending on the length mode. *0 - L1 as minimum length Codes with as many characters as specified by L1 and longer are read. L2 and L3 are not used. 1 - L1, L2, L3 as fixed lengths Only codes that comply with the lengths specified by L1, L2 and L3 will be read. 2 - L1 as minimum, L2 as maximum lengths Codes that are at least the minimum length specified by L1 and not longer than the maximum length specified by L2 are read. L3 is not used. |
Set length L1 | pref_key_code128_set_length_l1 | 0..255 | Use L1, L2 and L3 to compose acceptable
bar code lengths depending on the length mode used. Minimum
length for Code 128/GS1-128 is 1 character. Bar code length = <bar code data> *Initial value is L1="0", L2="0", L3="0". |
Set length L2 | pref_key_code128_set_length_l2 | 0..255 | |
Set length L3 | pref_key_code128_set_length_l3 | 0..255 | |
FNC1 separator character | pref_key_code128_fnc1_separator_character | 1(Character) | Compose the FNC1 separator character. This separator
is used when multiple identifiers and their fields are
concatenated. For example, this is useful for keyboard wedge
interfaces where the <GS> character cannot be
transmitted. *Initial value is "/x1D". |
Code128 Check digit verification | pref_key_code128_check_digit_verification | 0,1 | Enable or disable the French CIP check digit
verification which is used for the French pharmaceutical
industry. When enabled, bar codes are only decoded when
length is fixed at 14 characters, start is C type and CI
check digit is verified. *0 - Disable 1 - French CIP |
GS1-128 Identifier | pref_key_code128_gs1_128_identifier | true,false | According the GS1-128 norm, the AIM identifier " ]C1
" is added by default in front of each GS1-128 bar code as
follows: ]C1 <data> *true - include AIM identifier false - remove AIM identifier |
Unconventional GS1-128 | pref_key_code128_un_gs1_128 | true,false | Allows decoding of unconventional
GS1-128 which is GS1-128 with two FNC1 characters at the
beginning. *true - Allows decoding of unconventional GS1-128 false - Disallows decoding of unconventional GS1-128 NOTICE: When user sets this parameter, user should set two parameters below at the same time.
|
FNC2 append disabled | pref_key_code128_fnc2_append_disabled | true,false | Instructs the scanner to store the data from the bar
code containing the FNC2 and transmit it as a prefix to the
data of the next bar code. This allows you to concatenate
several bar codes before transmission. true - Enable *false - Disable NOTICE: See the notes of the "pref_key_code128_un_gs1_128" parameter above-mentioned. |
FNC4 ASCII extensions | pref_key_code128_fnc4_ascii_extension | true,false | FNC4 automatically uses an extended ASCII character
set (see the GS1-128 specification for more information). Use
this option to disable this function. true - Enable *false - Disable NOTICE: See the notes of the "pref_key_code128_un_gs1_128" parameter above-mentioned. |
GS1-128 GTIN processing | pref_key_code128_gs1_128_gtin_processing | true,false | Enable or disable GTIN processing for GS1-128. GTIN
stands for "Global Trade Item Number" and transmits GS1-128
as the 14 character GS1 Composite GTIN. true - Enable *false - disable |
ISBT128 Concatenation transmission | pref_key_code128_isbt128_concatenation_transmission | 0..2 | Select the transmission mode for concatenated ISBT
128 codes. There are three options: *0 - Disable Codes are always transmitted as single codes (no concatenation). 1 - Concatenated codes only Only transmits concatenated codes, does not transmit single codes. 2 - Single codes and concatenated codes Single codes and concatenated codes are both transmitted. If the product can only "see" one code of a code pair it will send that code as a single code. If the product "sees" both codes of a pair it will concatenate the codes depending on the concatenation mode setting. |
ISBT128 Concatenation | pref_key_code128_isbt_128 | true,false | Certain ISBT 128 codes are always concatenated in
compliance with Section 4.1 of the "ISBT 128 Bar Code
Symbology and Application Specification for Labeling of Whole
Blood and Blood Components" (June 2000, Version 1.2.1). These
include:
true - all ISBT code pairs *false - authorized ISBT code pairs ONLY |
User defined symbology ID-Code128 | pref_key_code128_user_defined_symbology_id_code128 | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> *Initial value is "B3". |
User defined symbology ID-GS1-128 | pref_key_code128_user_defined_symbology_id_gs1_128 | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> *Initial value is "C9". |
Code mark-Code128 | pref_key_code128_code_mark_code128 | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "D". |
Code mark-GS1-128 | pref_key_code128_code_mark_gs1_128 | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "D". |
Symbologies-Data Matrix
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Data Matrix | pref_key_datamatrix | true,false | Enable or disable DataMatrix. *true - enable false - disable |
Mirrored labels activation | pref_key_datamatrix_mirrored_labels_activation | true,false | Mirrored DataMatrix labels are labels that are
mirrored or flipped in the image. This setting allows you to
decode these bar codes as well as normal DataMatrix bar
codes. This setting can be used for special applications
(printing on transparent surface) or when bar codes are
printed in mirrored format. true - enable *false - disable |
Structured append | pref_key_datamatrix_structured_append | true,false | Enable or disable DataMatrix structured append. This
allows you to send linked data in more than one code. See
also header transmission. true - enable *false - disable |
Header transmission | pref_key_datamatrix_header_transmission | true,false | Enable or disable DataMatrix structured append header
transmission. true - enable *false - disable |
User defined symbology ID | pref_key_datamatrix_user_defined_symbology_id | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "D0". |
Code mark | pref_key_datamatrix_code_mark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies-EAN/UPC
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
EAN / UPC | pref_key_ean_upc | true,false | Enable or disable UPC/EAN. *true - Enable UPC/EAN false - Disable UPC/EAN NOTICE: This parameter affects only to barcode reader settings UI. If user wants to affects this setting to system, user should set related parameter below at the same time. "pref_key_ean_upc_upc_a", " pref_key_ean_upc_upc_e", "pref_key_ean_upc_ean_8", "pref_key_ean_upc_ean_13", "pref_key_ean_upc_upc_e1" |
UPC-A | pref_key_ean_upc_upc_a | true,false | Enable or disable UPC-A. *true - Enable UPC-A false - Disable UPC-A |
UPC-E | pref_key_ean_upc_upc_e | true,false | Enable or disable UPC-E. *true - Enable UPC-E false - Disable UPC-E |
EAN-8 | pref_key_ean_upc_ean_8 | true,false | Enable or disable EAN-8. *true - Enable EAN-8 false - Disable EAN-8 |
EAN-13 | pref_key_ean_upc_ean_13 | true,false | Enable or disable EAN-13. *true - Enable EAN-13 false - Disable EAN-13 |
UPC-E1 | pref_key_ean_upc_upc_e1 | true,false | Enable or disable UPC-E1. This is an irregular UPC-E
with number system equal to 1 (usually the first printed
character). UPC-E must be active for UPC-E1 to be taken into
account. true - Enable UPC-E1 *false - Disable UPC-E1 |
Add-on digits | pref_key_ean_upc_addon_digits | 0,1 | Select the requirements for add-on digits for UPC/EAN
symbologies. *0 - not required but transmitted if read 1 - required and transmitted |
Add-on 2digits | pref_key_ean_upc_addon_2digits | true,false | Enable or disable add-on 2 for all UPC/EAN
symbologies. true - Enable *false - Disable |
Add-on 5digits | pref_key_ean_upc_addon_5digits | true,false | Enable or disable add-on 5 for all UPC/EAN
symbologies. true - Enable *false - Disable |
Add-on digit security | pref_key_ean_upc_addon_digit_security | 0..100 | The add-on digit security is used only when add-on
digits are not required but transmitted. A higher security
level results in more secure decoding however this can slow
the decode rate. *Initial value is "10". |
Reading range | pref_key_ean_upc_reading_range | 0,1 | Reading range can be set to standard or extended. Use
extended reading range when long distance reading is
important for your application. When using this mode a
special algorithm is used and reading distances are
significantly increased. 0 - normal *1 - extended |
GTIN processing | pref_key_ean_upc_gtin_processing | true,false | Enable or disable GTIN processing for all UPC/EAN
symbologies. GTIN stands for "Global Trade Item Number" and
transmits UPC/EAN symbologies as the 14 character EAN.UCC
GTIN. true - Enable *false - Disable |
Check digit transmission - UPC-A | pref_key_ean_upc_check_digit_upc_a | true,false | Enable or disable check digit transmission for UPC-A. *true - Enable false - Disable |
Check digit transmission - UPC-E | pref_key_ean_upc_check_digit_upc_e | true,false | Enable or disable check digit transmission for UPC-E. *true - Enable false - Disable |
Check digit transmission - EAN-8 | pref_key_ean_upc_check_digit_ean_8 | true,false | Enable or disable check digit transmission for EAN-8. *true - Enable false - Disable |
Check digit transmission - EAN-13 | pref_key_ean_upc_check_digit_ean_13 | true,false | Enable or disable check digit transmission for
EAN-13. *true - Enable false - Disable |
UPC Number system - UPC-A | pref_key_ean_upc_upc_number_system_a | true,false | Enable or disable number system transmission for
UPC-A. UPC-A has a transmitted number system equal to 0. To
transmit the additional leading character (country code),
select "UPC-A transmitted as EAN-13" option. The number
system is transmitted as follows: <leading character> <number system> <data> <check digit> *true - Enable false - Disable |
UPC Number system - UPC-E | pref_key_ean_upc_upc_number_system_e | true,false | Enable or disable number system transmission for
UPC-E. The number system is transmitted as follows: <leading character> <number system> <data> <check digit> *true - Enable false - Disable |
UPC-A transmitted as EAN-13 | pref_key_ean_upc_upca_as_ean13 | true,false | Decoded UPC-A can be converted and transmitted as
EAN-13. Transmission only takes into account the parameters
available for the target bar code format. *true - Enable false - Disable |
UPC-E transmitted as UPC-A | pref_key_ean_upc_upce_as_upca | true,false | Decoded UPC-E can be converted and transmitted as
UPC-A. Transmission only takes into account the parameters
available for the target bar code format. true - Enable *false - Disable |
EAN-8 transmitted as EAN-13 | pref_key_ean_upc_ean8_as_ean13 | true,false | Decoded EAN-8 can be converted and transmitted as
EAN-13. Transmission only takes in to account the parameters
available for the target bar code format. true - Enable *false - Disable |
ISBN conversion for EAN-13 | pref_key_ean_upc_isbn_ean13 | true,false | Converts all EAN-13 bar codes beginning with "978" or
"979" (except for "9790") by removing the first 3 digits,
calculating the checksum on the remaining characters, and
adding the ISBN (International Standard Book Number) check
digit. true - Enable *false - Disable |
ISMN conversion for EAN-13 | pref_key_ean_upc_ismn_ean13 | true,false | Converts all EAN-13 bar codes beginning with "9790"
by removing the first 3 digits and replacing the "0" with
"M." This creates the International Standard Music Number
(ISMN). true - Enable *false - Disable |
ISSN conversion for EAN-13 | pref_key_ean_upc_issn_ean13 | true,false | Converts all EAN-13 bar codes beginning with "977" by
removing the first 3 digits and adding the ISBN check digit.
This creates the International Standard Serial Number (ISSN). true - Enable *false - Disable |
User defined symbology ID - UPC-A | pref_key_ean_upc_user_defined_symbology_id_upca | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "A0". |
User defined symbology ID - UPC-E | pref_key_ean_upc_user_defined_symbology_id_upce | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "E0". |
User defined symbology ID - EAN-8 | pref_key_ean_upc_user_defined_symbology_id_ean8 | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below). If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "FF". |
User defined symbology ID - EAN-13 | pref_key_ean_upc_user_defined_symbology_id_ean13 | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "F". |
Code mark - UPC-A | pref_key_ean_upc_code_mark_upca | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "A". |
Code mark - UPC-E | pref_key_ean_upc_code_mark_upce | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "E". |
Code mark - EAN-8 | pref_key_ean_upc_code_mark_ean8 | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "N". |
Code mark - EAN-13 | pref_key_ean_upc_code_mark_ean13 | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "F". |
Symbologies-QR Code
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
QR Code | pref_key_qrcode | true,false | Enable or Disable QR Code. *true - Enable QR Code false - Disable QR Code |
Micro QR code | pref_key_qrcode_micro_qrcode | true,false | Enable or Disable Micro QR Code. true - Enable Micro QR Code *false - Disable Micro QR Code |
Model1 control | pref_key_qrcode_model1_control | true,false | Enable or Disable the decoding of Model1 QR codes. true - Enable *false - Disable |
Inverse video | pref_key_qrcode_inverse_video | 0..2 | Set the QR inverse decoder setting: *0 - Regular Only the decoder decodes regular QR bar codes only. 1 - Inverse Only the decoder decodes inverse QR bar codes only. 2 - Inverse Autodetect the decoder decodes both regular and inverse QR bar codes. |
Structured append | pref_key_qrcode_structured_append | true,false | Enable or disable QR Code structured append. This
allows you to send linked data in more than one code. See
also QR Code header transmission. true - Enable *false - Disable |
Header transmission | pref_key_qrcode_header_transmission | true,false | Enable or disable QR Code structured append header
transmission. true - Enable *false - Disable |
User defined symbology ID | pref_key_qrcode_user_defined_symbology_id | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "D1". |
Code mark | pref_key_qrcode_code_ma0123456789ABCDEFrk | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies-Australian Post
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Australian Post | pref_key_australian_post | true,false | Enable or disable Australian Post. true - Enable Australia Post *false - Disable Australia Post |
User defined symbology ID | pref_key_austr_post_user_symbology_id | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "P3". |
Code mark | pref_key_austr_post_codemark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies-BPO
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
BPO | pref_key_bpo | true,false | Enable or disable British Post Office symbology. true - Enable BPO *false - Disable BPO |
Check digit transmission | pref_key_bpo_check_digit_transmission | true,false | Enable or disable check digit transmission for BPO. *true - Enable false - Disable |
User defined symbology ID | pref_key_bpo_user_symbology_id | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only *Initial value is "P2". |
Code mark | pref_key_bpo_code_mark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies-Canada Post
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Canada Post | pref_key_canada_post | true,false | Enable or disable Canada Post. true - Enable Canada Post *false - Disable Canada Post |
User defined symbology ID | pref_key_canada_post_user_symbology_id | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "P6". |
Code mark | pref_key_canada_post_codemark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies-Codabar
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Codabar | pref_key_codabar | true,false | Enable or disable Codabar. true - Enable Codabar *false - Disable Codabar |
Check digit transmission | pref_key_codabar_check_digit_transmission | true,false | Enable or disable check digit transmission for
Codabar. true - Enable *false - Disable |
Check digit verification | pref_key_codabar_check_digit_verification | true,false | Enable or disable the check digit verification for
Codabar. The check digit is calculated and can be transmitted
or not. true - Enable *false - Disable |
Length mode | pref_key_codabar_length_mode | 0..2 | Length 1 (L1), Length 2 (L2) and Length 3 (L3) are
used differently depending on the length mode. *0 - L1 as minimum length Codes with as many characters as specified by L1 and longer are read. L2 and L3 are not used. 1 - L1, L2, L3 as fixed lengths Only codes that comply with the lengths specified by L1, L2 and L3 will be read. 2 - L1 as minimum, L2 as maximum lengths Codes that are at least the minimum length specified by L1 and not longer than the maximum length specified by L2 are read. L3 is not used. |
Set length L1 | pref_key_codabar_set_length_l1 | 0..255 | Use L1, L2 and L3 to compose acceptable
bar code lengths depending on the length mode used. Minimum
length for Codabar is 3 characters. Bar code length = <start> + <bar code data> + [check digit] + <stop> *Initial value is L1="6", L2="0", L3="0". |
Set length L2 | pref_key_codabar_set_length_l2 | 0..255 | |
Set length L3 | pref_key_codabar_set_length_l3 | 0..255 | |
Start/Stop transmission | pref_key_codabar_start_stop_transmission | 0..4 | Select start/stop character format or disable
start/stop transmission for this symbology. *0 - not
transmitted 1 - a, b, c, d 2 - A, B, C, D 3 - a, b, c, d / t, n, *, e 4 - DC1, DC2, DC3, DC4 |
CLSI library system | pref_key_codabar_csli_library_system | true,false | The CLSI library system for Codabar inserts spaces
after characters 1, 5, and 10 in the 14-character label.
Start/stop characters can be transmitted or not transmitted
as required. This system is used by some libraries in the
USA. Example: 39990000192148 is transmitted as 3 9990 00019 2148 true - Enable *false - Disable |
Concatenation | pref_key_codabar_concatenation | 0..2 | Two adjacent Codabar codes scanned in a single sweep
can be concatenated and sent as a single message. Codabar concatenation is applied according to the concatenation mode selected. *0 - Disable 1 - only transmit concatenated codes (non-concatenated codes are NOT transmitted) 2 - transmit concatenated codes and non-concatenated codes |
Concatenation mode | pref_key_codabar_concatenation_mode | 0..2 | Concatenation is applied differently depending on the
concatenation mode. There are 3 different modes: *0 - no restrictions Concatenates all adjacent codes, intermediate start/stop characters are not transmitted. 1 - first code stop = second code start Only concatenates adjacent codes if the first code stop character is the same as the second code start character (C123456A + A123456D = 123456123456 or C123456123456D if start/stop characters are transmitted). 2 - American Blood Commission (ABC) Only concatenates adjacent codes if the stop character of the first code = D and the start character of the second code = D (C123456D + D123456A = 123456123456 or C123456123456A if start/stop characters are transmitted). |
User defined symbology ID | pref_key_codabar_user_symbology | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "B7". |
Code mark | pref_key_codabar_code_mark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "D". |
Symbologies- Codablock A
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Codablock A | pref_key_codablock_a | true,false | Enable or disable Codablock A. Codablock A is based on Code 39. To avoid confusion we recommend that you disable Code 39 when enabling Codablock A. true - Enable Codablock A *false - Disable Codablock A |
User defined symbology ID | pref_key_codablock_a_user_symbology_id | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "K0". |
Code mark | pref_key_codablock_a_codemark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies- Codablock F
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Codablock F | pref_key_codablock_f | true,false | Enable or disable Codablock F. Codablock F is based on Code 128. To avoid confusion we recommend that you disable Code 128 when enabling Codablock F. true - Enable Codablock F *false - Disable Codablock F |
User defined symbology ID | pref_key_codablock_f_user_symbology_id | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "K1". |
Code mark | pref_key_codablock_f_codemark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies-Code11
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Code11 | pref_key_code11 | true,false | Enable or disable Code 11. true - Enable Code 11 *false - Disable Code 11 |
Check digit transmission | pref_key_code11_check_digit_transmission | true,false | Enable or disable check digit transmission for Code
11. *true - Enable false - Disable |
Check digit verification | pref_key_code11_check_digit_verification | 1,2 | Select the number of check digits for Code 11 check
digit verification. *1 - 1 digit 2 - 2 digits |
Length mode | pref_key_code11_length_mode | 0..2 | Length 1 (L1), Length 2 (L2) and Length 3 (L3) are
used differently depending on the length mode. *0 - L1 as minimum length Codes with as many characters as specified by L1 and longer are read. L2 and L3 are not used. 1 - L1, L2, L3 as fixed lengths Only codes that comply with the lengths specified by L1, L2 and L3 will be read. 2 - L1 as minimum, L2 as maximum lengths Codes that are at least the minimum length specified by L1 and not longer than the maximum length specified by L2 are read. L3 is not used. |
Set length L1 | pref_key_code11_set_length_l1 | 0..255 | Use L1, L2 and L3 to compose acceptable
bar code lengths depending on the length mode used. Minimum
length for Code 11 is 2 characters. Bar code length = <bar code data> *Initial value is L1="4", L2="0", L3="0". |
Set length L2 | pref_key_code11_set_length_l2 | 0..255 | |
Set length L3 | pref_key_code11_set_length_l3 | 0..255 | |
User defined symbology ID | pref_key_code11_user_symbology | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "C1". |
Code mark | pref_key_code11_code_mark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies-Code93
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Code93 | pref_key_code93 | true,false | Enable or Disable Code 93 true - Enable Code 93 *false - Disable Code 93 |
Length mode | pref_key_code93_length_mode | 0..2 | Length 1 (L1), Length 2 (L2) and Length 3 (L3) are
used differently depending on the length mode. *0 - L1 as minimum length Codes with as many characters as specified by L1 and longer are read. L2 and L3 are not used. 1 - L1, L2, L3 as fixed lengths Only codes that comply with the lengths specified by L1, L2 and L3 will be read. 2 - L1 as minimum, L2 as maximum lengths Codes that are at least the minimum length specified by L1 and not longer than the maximum length specified by L2 are read. L3 is not used. |
Set length L1 | pref_key_code93_set_length_l1 | 0..255 | Use L1, L2 and L3 to compose acceptable
bar code lengths depending on the length mode used. Minimum
length for Code 93 is 1 character. Bar code length = <bar code data> *Initial value is L1="1", L2="0", L3="0" |
Set length L2 | pref_key_code93_set_length_l2 | 0..255 | |
Set length L3 | pref_key_code93_set_length_l3 | 0..255 | |
User defined symbology ID | pref_key_code93_user_symbology | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "B6". |
Code mark | pref_key_code93_code_mark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "D". |
Symbologies-Dutch Post
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Dutch Post | pref_key_dutch_post | true,false | Enable or Disable Dutch Post. true - Enable Dutch Post *false - Disable Dutch Post |
User defined symbology ID | pref_key_dutch_post_user_symbology_id | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "P4". |
Code mark | pref_key_dutch_post_codemark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies-GS1 Composite
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
GS1 Composite | pref_key_gs1_composite | true,false | Enable or Disable GS1 Composite. true - Enable GS1 Composite *false - Disable GS1 Composite |
GS1 Composite A/B | pref_key_gs1_composite_ab | true,false | Enable or disable GS1 Composite A/B. true - Enable GS1 Composite A/B *false - Disable GS1 Composite A/B |
GS1 Composite C | pref_key_gs1_composite_c | true,false | Enable or disable GS1 Composite C. true - Enable GS1 Composite C *false - Disable GS1 Composite C |
Linear only transmission mode | pref_key_gs1_composite_linear_mode | true,false | Enable or disable GS1 Composite Linear Only
Transmission Mode. True - Enable *false - Disable |
UPC and EAN composite msg decoding | pref_key_gs1_composite_msg_decoding | 0..2 | Only applies to EAN and UPC composite codes. There
are three options for decoding and transmitting EAN/UPC
composite bar codes: 0 - never linked 1 - always linked *2 - auto-discriminate |
Unconventional | pref_key_gs1_composite_unconventional | true,false | Enable or Disable Unconventional. When enabled the AIM identifier is always removed. true - Enable *false - Disable |
User defined symbology ID - Composite A/B | pref_key_gs1_composite_user_defined_symbology_ab | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "G0". |
User defined symbology ID - Composite C | pref_key_gs1_composite_user_defined_symbology_c | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "G1". |
Code mark - Composite A/B | pref_key_gs1_composite_code_mark_ab | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Code mark - Composite C | pref_key_gs1_composite_code_mark_c | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies- GS1 DataBar(RSS) Omni-Directinal
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
GS1 DataBar(RSS) Omni-Directinal | pref_key_gs1_databar_rss_omni_directional | true,false | Enable or disable RSS 14. true - Enable RSS 14 *false - Disable RSS 14 |
User defined symbology ID | pref_key_gs1_omni_user_symbology_id | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "C3". |
Code mark | pref_key_gs1_omni_post_codemark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies- GS1 DataBar(RSS) Limited
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
GS1 DataBar(RSS) Limited | pref_key_gs1_databar_rss_limited | true,false | Enable or disable GS1 DataBar Limited. true - Enable GS1 DataBar Limited *false - Disable GS1 DataBar Limited |
User defined symbology ID | pref_key_gs1_limited_user_symbology_id | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "C4". |
Code mark | pref_key_gs1_limited_codemark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies- GS1 DataBar(RSS) Expanded
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
GS1 DataBar(RSS) Expanded | pref_key_gs1_databar_rss_expanded | true,false | Enable or disable GS1 DataBar Expanded. true - Enable GS1 DataBar Expanded *false - Disable GS1 DataBar Expanded |
User defined symbology ID | pref_key_gs1_expanded_user_symbology_id | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "C5". |
Code mark | pref_key_gs1_expanded_codemark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies- HanXin
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
HanXin | pref_key_hanxin | true,false | Enable or disable HanXin. true - Enable HanXin *false - Disable HanXin |
User defined symbology ID | pref_key_hanxin_user_symbology_id | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "D4". |
Code mark | pref_key_hanxin_codemark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies- Infomail
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Infomail | pref_key_infomail | true,false | Enable or disable British Royal Mail Infomail. true - Enable British Royal Mail Infomail *false - Disable British Royal Mail Infomail |
User defined symbology ID | pref_key_infomail_user_symbology_id | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is *P8”. |
Code mark | pref_key_infomail_codemark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies- Intelligent Mail
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Intelligent Mail | pref_key_intelligent_mail | true,false | Enable or disable Intelligent Mail. true - Enable Intelligent Mail *false - Disable Intelligent Mail |
User defined symbology ID | pref_key_intelligent_mail_user_symbology_id | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "PA". |
Code mark | pref_key_intelligent_mail_codemark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies- Interleaved 2 of 5
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Interleaved 2 of 5 | pref_key_interleaved_2_of_5 | true,false | Enable or disable Interleaved 2 of 5. true - Enable Interleaved 2 of 5 *false - Disable Interleaved 2 of 5 |
Check digit transmission | pref_key_inter_25_chk_digit_trans | true,false | Enable or disable check digit transmission for
Interleaved 2 of 5. true - Enable false - Disable |
Check digit verification | pref_key_inter_25_chk_digit_verification | 0..2 | There are 2 types of check digit verification for
Interleaved 2 of 5: *0 - disable 1 - Modulo 10 2 - French CIP HR |
Length mode | pref_key_inter_25_length_mode | 0..2 | Length 1 (L1), Length 2 (L2) and Length 3 (L3) are
used differently depending on the length mode. *0 - L1 as minimum length Codes with as many characters as specified by L1 and longer are read. L2 and L3 are not used. 1 - L1, L2, L3 as fixed lengths Only codes that comply with the lengths specified by L1, L2 and L3 will be read. 2 - L1 as minimum, L2 as maximum lengths Codes that are at least the minimum length specified by L1 and not longer than the maximum length specified by L2 are read. L3 is not used. |
Set length L1 | pref_key_inter_25_set_length_l1 | 0..255 | Use L1, L2 and L3 to compose acceptable
bar code lengths depending on the length mode used. Minimum
length for Code 93 is 1 character. Bar code length = <bar code data> *Initial value is L1="6", L2="0", L3="0" |
Set length L2 | pref_key_inter_25_set_length_l2 | 0..255 | |
Set length L3 | pref_key_inter_25_set_length_l3 | 0..255 | |
Reading range | pref_key_inter_25_reading_range | 0,1 | Reading range can be set to standard or extended. Use
extended reading range when long distance reading is
important for your application. When using this mode a
special algorithm is used and reading distances are
significantly increased. Note: Extended reading range is only available with certain products and for certain symbologies. See product details for more information. 0 - normal *1- extended |
Reading tolerance | pref_key_inter_25_reading_tolerance | 0..2 | Set the tolerance level for reading "hard to read"
bar codes: *0 - high This is the most permissive mode. When enabled, the scanner reads codes of variable quality. The quiet zone is expected to be four times the width of the narrow element and reverse video is authorized. 1 - medium This mode allows medium permissiveness. The quiet zone is expected to be five times the width of the narrow bar and reverse video is authorized. 2 - low This is the least permissive mode. When enabled, the scanner reads only high quality codes that meet the official Interleaved 2 of 5 standards. The quiet zone is expected to be five times the width of the narrow element and reverse video is not authorized. |
User defined symbology ID | pref_key_inter_25_user_symbology | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "B2". |
Code mark | pref_key_inter_25_code_mark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "l". |
Symbologies-Japan Post
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Japan Post | pref_key_japan_post | true,false | Enable or disable Japan Post. true - Enable Japan Post *false - Disable Japan Post |
Check digit transmission | pref_key_japan_post_chk_digit_trans | true,false | Enable or disable check digit transmission for Japan
Post. *true - Enable false - Disable |
User defined symbology ID | pref_key_japan_post_user_symbology | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below). If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "P5". |
Code mark | pref_key_japan_post_code_mark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies- Matrix 2 of 5
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Matrix 2 of 5 | pref_key_matrix_2_of_5 | true,false | Enable or disable Matrix 2 of 5. true - Enable Matrix 2 of 5 *false - Disable Matrix 2 of 5 |
Start/Stop character | pref_key_matrix_25_start_stop_char | 0,1 | Disable/enable transmission of start/stop characters
and checksum: *0 - regular Start/stop characters and checksum are not transmitted. 1 - China Post Start/stop characters are not transmitted but the checksum is transmitted. |
Length mode | pref_key_matrix_25_length_mode | 0..2 | Length 1 (L1), Length 2 (L2) and Length 3 (L3) are
used differently depending on the length mode. *0 - L1 as minimum length Codes with as many characters as specified by L1 and longer are read. L2 and L3 are not used. 1 - L1, L2, L3 as fixed lengths Only codes that comply with the lengths specified by L1, L2 and L3 will be read. 2 - L1 as minimum, L2 as maximum lengths Codes that are at least the minimum length specified by L1 and not longer than the maximum length specified by L2 are read. L3 is not used. |
Set length L1 | pref_key_matrix_25_set_length_l1 | 0..255 | Use L1, L2 and L3 to compose acceptable
bar code lengths depending on the length mode used. Minimum
length for Matrix 2 of 5 is 3 characters. Bar code length = <bar code data> *Initial value is L1="6", L2="0", L3="0". |
Set length L2 | pref_key_matrix_25_set_length_l2 | 0..255 | |
Set length L3 | pref_key_matrix_25_set_length_l3 | 0..255 | |
User defined symbology ID | pref_key_matrix_25_user_symbology | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "B4". |
Code mark | pref_key_matrix_25_code_mark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "D". |
Symbologies- MaxiCode
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
MaxiCode | pref_key_maxicode | true,false | Enable or disable Maxicode. true - Enable MaxiCode *false - Disable MaxiCode |
Mode 0 | pref_key_maxicode_mode_0 | true,false | Enable or disable Mode0. true - Enable *false - Disable |
Mode 0 Header | pref_key_maxicode_mode_0_header | 0,1 | This parameter sets the Header of Mode0. *0 - Regular (AIM) 1 - Extended(Mode 2&3 like) |
User defined symbology ID | pref_key_maxicode_user_symbology | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "D2". |
Code mark | pref_key_maxicode_code_mark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies- Micro PDF417
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Micro PDF417 | pref_key_micro_pdf417 | true,false | Enable or Disable Micro PDF417. true - Enable Micro PDF417 *false - Disable Micro PDF417 |
Code128 emulation | pref_key_micro_pdf417_code128_emulation | true,false | When Micro PDF417 Code 128 Emulation is enabled and
reading a Micro PDF417 code containing a special flag, the
scanner transmits the Code 128 AIM identifier instead of the
Micro PDF417 identifier ( ]C instead of ]L ). true - Enable *false - Disable |
User defined symbology ID | pref_key_micro_pdf417_user_symbology | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "C8". |
Code mark | pref_key_micro_pdf417_code_mark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies-MSI
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
MSI | pref_key_msi | true,false | Enable or disable MSI Code. true - Enable MSI *false - Disable MSI |
Check digit transmission | pref_key_msi_chk_digit_trans | true,false | Enable or disable check digit transmission for MSI
Code. *true - Enable false - Disable |
Check digit verification | pref_key_msi_chk_digit_ver | 1..2 | There are two types of check digit verification for
MSI Code: *1 - modulo 10 Check digit usually used for MSI Code that applies the Modulo 10 algorithm. 2 - double modulo 10 The "Double Modulo 10" method essentially means the MSI bar code has two Modulo 10 checksum digits. |
Length mode | pref_key_msi_length_mode | 0..2 | Length 1 (L1), Length 2 (L2) and Length 3 (L3) are
used differently depending on the length mode. *0 - L1 as minimum length Codes with as many characters as specified by L1 and longer are read. L2 and L3 are not used. 1 - L1, L2, L3 as fixed lengths Only codes that comply with the lengths specified by L1, L2 and L3 will be read. 2 - L1 as minimum, L2 as maximum lengths Codes that are at least the minimum length specified by L1 and not longer than the maximum length specified by L2 are read. L3 is not used. |
Set length L1 | pref_key_msi_set_length_l1 | 0..255 | Use L1, L2 and L3 to compose acceptable
bar code lengths depending on the length mode used. Minimum
length for MSI Code is 3 characters. Bar code length = <bar code data> + [check digit] *Initial value is L1="6", L2="0", L3="0". |
Set length L2 | pref_key_msi_set_length_l2 | 0..255 | |
Set length L3 | pref_key_msi_set_length_l3 | 0..255 | |
User defined symbology ID | pref_key_msi_user_symbology | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "B8". |
Code mark | pref_key_msi_code_mark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "D". |
Symbologies- PDF417
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
PDF417 | pref_key_pdf417 | true,false | Enable or Disable PDF417. true - Enable PDF417 *false - Disable PDF417 |
Structured append | pref_key_pdf417_structure_append | true,false | Enable or disable PDF Structured Append. This allows
you to send linked data in more than one code. See also
header transmission. true - Enable *false - Disable |
Header transmission | pref_key_pdf417_header_transmission | true,false | Enable or disable PDF Structured Append Header
Transmission. true - Enable *false - Disable |
User defined symbology ID | pref_key_pdf417_user_symbology | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "C7". |
Code mark | pref_key_pdf417_code_mark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies- Planet
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Planet | pref_key_planet | true,false | Enable or Disable Planet. true - Enable Planet *false - Disable Planet |
Check digit transmission | pref_key_planet_chk_digit_trans | true,false | Enable or disable check digit transmission for
Planet. *true - Enable false - Disable |
User defined symbology ID | pref_key_planet_user_symbology | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "P1". |
Code mark | pref_key_planet_code_mark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies- Plessey
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Plessey | pref_key_plessey | true,false | Enable or Disable Plessey. true - Enable Plessey *false - Disable Plessey |
Check digit transmission | pref_key_plessey_chk_digit_trans | true,false | Enable or disable check digit transmission for
Plessey Code. true - Enable *false - Disable |
Unconventional Stop | pref_key_plessey_unconv_stop | true,false | Enable or disable Plessey Unconventional Stop. When
enabled you can decode Plessey bar codes with a stop that is
a variation of the standard stop (bars are narrower or
wider). true - Enable *false - Disable |
Length mode | pref_key_plessey_length_mode | 0..2 | Length 1 (L1), Length 2 (L2) and Length 3 (L3) are
used differently depending on the length mode. *0 - L1 as minimum length Codes with as many characters as specified by L1 and longer are read. L2 and L3 are not used. 1 - L1, L2, L3 as fixed lengths Only codes that comply with the lengths specified by L1, L2 and L3 will be read. 2 - L1 as minimum, L2 as maximum lengths Codes that are at least the minimum length specified by L1 and not longer than the maximum length specified by L2 are read. L3 is not used. |
Set length L1 | pref_key_plessey_set_length_l1 | 0..255 | Use L1, L2 and L3 to compose acceptable
bar code lengths depending on the length mode used. Minimum
length for Plessey Code is 3 characters. Bar code length = <bar code data> + [check digit] *Initial value is L1="0", L2="0", L3="0". |
Set length L2 | pref_key_plessey_set_length_l2 | 0..255 | |
Set length L3 | pref_key_plessey_set_length_l3 | 0..255 | |
User defined symbology ID | pref_key_plessey_user_symbology | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "C2". |
Code mark | pref_key_plessey_code_mark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "D". |
Symbologies- Postnet
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Postnet | pref_key_postnet | true,false | Enable or Disable Postnet. true - Enable Postnet *false - Disable Postnet |
Check digit transmission | pref_key_postnet_chk_digit_trans | true,false | Enable or disable check digit transmission for
Postnet. *true - Enable false - Disable |
User defined symbology ID | pref_key_postnet_user_symbology | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "P0". |
Code mark | pref_key_postnet_code_mark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies- Standard 2 of 5
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Standard 2 of 5 | pref_key_standard_2_of_5 | true,false | Enable or Disable Standard 2 of 5. true - Enable Standard 2 of 5 *false - Disable Standard 2 of 5 |
Check digit transmission | pref_key_std_25_chk_digit_trans | true,false | Enable or disable check digit transmission for
Standard 2 of 5. true - Enable *false - Disable |
Check digit verification | pref_key_std_25_chk_digit_ver | 0,1 | Select not to verify the check digit or to verify it
using a Modulo 10 algorithm. *0 - disable 1 - modulo 10 |
Length mode | pref_key_std_25_length_mode | 0..2 | Length 1 (L1), Length 2 (L2) and Length 3 (L3) are
used differently depending on the length mode. *0 - L1 as minimum length Codes with as many characters as specified by L1 and longer are read. L2 and L3 are not used. 1 - L1, L2, L3 as fixed lengths Only codes that comply with the lengths specified by L1, L2 and L3 will be read. 2 - L1 as minimum, L2 as maximum lengths Codes that are at least the minimum length specified by L1 and not longer than the maximum length specified by L2 are read. L3 is not used. |
Set length L1 | pref_key_std_25_set_length_l1 | 0..255 | Use L1, L2 and L3 to compose acceptable
bar code lengths depending on the length mode used. Minimum
length for Standard 2 of 5 is 3 characters. Bar code length = <bar code data> + [check digit] *Initial value is L1="6", L2="0", L3="0". |
Set length L2 | pref_key_std_25_set_length_l2 | 0..255 | |
Set length L3 | pref_key_std_25_set_length_l3 | 0..255 | |
Format | pref_key_std_25_format | 0,1 | Select a Standard 2 of 5 format. Note: If setting the format to Computer Identics format, we recommend disabling Interleaved 2 of 5 symbology (risks of misreading between both symbologies). *0 - Identicon (6 start/stop bars) 1 - Computer Identics (4 start/stop bars) |
User defined symbology ID | pref_key_std_25_user_symbology | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "B5". |
Code mark | pref_key_std_25_code_mark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "D". |
Symbologies- Sweden Post
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Sweden Post | pref_key_sweden_post | true,false | Enable or Disable Sweden Post. true - Enable Sweden Post *false - Disable Sweden Post |
User defined symbology ID | pref_key_sweden_post_user_symbology | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "P7". |
Code mark | pref_key_sweden_post_code_mark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies- Telepen
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Telepen | pref_key_telepen | true,false | Enable or Disable Telepen. true - Enable Telepen *false - Disable Telepen |
Length mode | pref_key_telepen_length_mode | 0..2 | Length 1 (L1), Length 2 (L2) and Length 3 (L3) are
used differently depending on the length mode. *0 - L1 as minimum length Codes with as many characters as specified by L1 and longer are read. L2 and L3 are not used. 1 - L1, L2, L3 as fixed lengths Only codes that comply with the lengths specified by L1, L2 and L3 will be read. 2 - L1 as minimum, L2 as maximum lengths Codes that are at least the minimum length specified by L1 and not longer than the maximum length specified by L2 are read. L3 is not used. |
Set length L1 | pref_key_telepen_set_length_l1 | 0..255 | Use L1, L2 and L3 to compose acceptable
bar code lengths depending on the length mode used. Minimum
length for MSI Code is 3 characters. Bar code length = <bar code data> + [check digit] *Initial value is L1="0", L2="0", L3="0". |
Set length L2 | pref_key_telepen_set_length_l2 | 0..255 | |
Set length L3 | pref_key_telepen_set_length_l3 | 0..255 | |
Format | pref_key_telepen_format | 0,1 | Telepen supports two formats, ASCII and numeric. *0 - ASCII 1 - numeric |
User defined symbology ID | pref_key_telepen_user_symbology | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "C6". |
Code mark | pref_key_telepen_code_mark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Symbologies- TLC39
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
TLC39 | pref_key_tlc39 | true,false | Enable or Disable TLC39. true - Enable TLC39 *false - Disable TLC39 |
Linear only transmission mode | pref_key_tlc39_linear_only_trans_mode | true,false | Enable or disable TLC 39 linear only transmission
mode. In this mode, only data from the Code 39 label is
transmitted and the Micro PDF417 data is ignored. true - Enable *false - Disable |
ECI security | pref_title_eci_security | 0..100 | Adjust the level of TLC 39 ECI security checking. ECI (Equipment Catalog Item) security is used to differentiate between TLC 39 and standard Code 39 labels. If the Code 39 label has 6 digits, the scanner will attempt to decode a TLC 39 ECI part with more security. Increasing the security level decreases the decode rate. Note: To activate TLC 39, you must also activate Micro PDF417 and Code 39. *Initial value is "10". |
User defined symbology ID | pref_key_tlc39_user_symbology | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for this symbology. The UDSI is transmitted
as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below).If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "H0". |
Code mark | pref_key_tlc39_code_mark | 0-1(Character) | Compose a one character code mark symbology
identifier for this symbology. The code mark is transmitted
as follows: [code mark symbology id] <data> *Initial value is "*". |
Data transmission settings
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Preamble | pref_key_data_trans_preamble | 0-20(Characters) | Enter preamble characters. *Initial value is <Empty>. |
Postamble | pref_key_data_trans_postamble | 20(Characters) | Enter postamble characters. *Initial value is <Empty>. |
Symbology identifier | pref_key_data_trans_symbology_identifier | 0..3 | Enable or disable transmission of the symbology
identifier. There are three different types of symbology
identifiers: *0 - Disable 1 - Code mark 2 - AIM format 3 - User defined identifier |
Data transmission settings(Multicode)
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Multi code support | pref_key_data_trans_multicode_support | 0..2 | Set the multicode activation *0 - Disable disable multicode activation 1 - Enable each bar code is checked to see if it is part of a multicode. If it is not, it will be read and sent as normal. 2 - Exclusive the bar codes defined to be read as a multicode (by selecting symbology ID, mask etc.) become exclusive for that symbology. Any other bar code of the selected symbology that does not fulfill the requirements to be part of the multicode will be discarded. Other symbologies that are not defined as a multicode can be read and sent as normal. |
Number of barcodes | pref_key_data_trans_number_of_barcodes | 2..8 | Define the number of bar codes in your multicode. You
can select up to 8 bar codes in a multicode. *Initial value is "2". |
Barcode separator | pref_key_data_trans_barcode_separator | 0-4(Characters) | Compose up to 4 characters to be used as a separator
between each bar code in the multicode. Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below). If you send 00 00 (indicating that there are 0 bytes in the byte buffer) no separator is used. *Initial value is "<>". |
User defined symbology ID - Complete multicode | pref_key_data_trans_user_symbology_complete_multicode | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for a complete multicode. The UDSI is
transmitted as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below). If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "UDM0". |
User defined symbology ID - Incomplete multicode | pref_key_data_trans_user_symbology_incomplete_multicode | 0-4(Characters) | Compose a user defined symbology identifier (UDSI) of
0 to 4 characters for an incomplete multicode. The UDSI is
transmitted as follows: [UDSI symbology id] <data> Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below). If you send 00 00 (indicating that there are 0 bytes in the byte buffer) and symbology identifier transmission is active, no symbology identifier will be sent for this symbology only. *Initial value is "UDM1". |
Code mark - Complete multicode | pref_key_data_trans_code_mark_complete_multicode | 0-1(Character) | Compose a one character code mark symbology
identifier for a complete multicode. The code mark is
transmitted as follows: [code mark symbology id] <data> *Initial value is "*". |
Code mark - Incomplete multicode | pref_key_data_trans_code_mark_incomplete_multicode | 0-1(Character) | Compose a one character code mark symbology
identifier for an incomplete multicode. The code mark is
transmitted as follows: [code mark symbology id] <data> *Initial value is "*". |
Incomplete transmission | pref_key_data_trans_incomplete_trans | true,false | Enable or disable transmission of an incomplete
multicode. When enabled the incomplete multicode is
transmitted when the incomplete transmission timeout expires. true - Enable *false - Disable |
Incomplete transmission timeout(msec) | pref_key_data_trans_incomplete_trans_timeout | 0..65535 | Select the timeout (milliseconds) used when
incomplete transmission is enabled. The timeout starts after
the last bar code is read. *Initial value is "0". |
Barcode1 - Symbology | pref_key_data_trans_barcode1_symbology | 0..76 (exclude 20,24,28,29,32,69,71) | Define the type of symbology for each bar code that
makes up the multicode. The scanner will apply the multicode
function only to the symbologies identified. Bar code symbology identifiers are described in Appendix C - Symbology Identifier for FZ-X1. |
Barcode1 – Length | pref_key_data_trans_barcode1_length | 0..65535 | Compose a bar code length for each bar code that
makes up the multicode. *Initial value is "0". |
Barcode1 – Mask | pref_key_data_trans_barcode1_mask | 0-26(Characters) | Compose a mask of up to 26 characters for each bar
code that makes up the multicode. The mask is used as a
filter to determine which incoming data you want to be part
of the multicode. Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below). If you send 00 00 (indicating that there are 0 bytes in the byte buffer and that the mask is empty), no mask is used. *Initial value is "*". |
Barcode2 - Symbology | pref_key_data_trans_barcode2_symbology | 0..76 (exclude 20,24,28,29,32,69,71) | Define the type of symbology for each bar code that
makes up the multicode. The scanner will apply the multicode
function only to the symbologies identified. Bar code symbology identifiers are described in Appendix C - Symbology Identifier for FZ-X1. |
Barcode2 - Length | pref_key_data_trans_barcode2_length | 0..65535 | Compose a bar code length for each bar code that
makes up the multicode. *Initial value is "0". |
Barcode2 - Mask | pref_key_data_trans_barcode2_mask | 0-26(Characters) | Compose a mask of up to 26 characters for each bar
code that makes up the multicode. The mask is used as a
filter to determine which incoming data you want to be part
of the multicode. Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below). If you send 00 00 (indicating that there are 0 bytes in the byte buffer and that the mask is empty), no mask is used. *Initial value is "*". |
Barcode3 - Symbology | pref_key_data_trans_barcode3_symbology | 0..76 (exclude 20,24,28,29,32,69,71) | Define the type of symbology for each bar code that
makes up the multicode. The scanner will apply the multicode
function only to the symbologies identified. Bar code symbology identifiers are described in Appendix C - Symbology Identifier for FZ-X1. |
Barcode3 - Length | pref_key_data_trans_barcode3_length | 0..65535 | Compose a bar code length for each bar code that
makes up the multicode. *Initial value is "0". |
Barcode3 - Mask | pref_key_data_trans_barcode3_mask | 0-26(Characters) | Compose a mask of up to 26 characters for each bar
code that makes up the multicode. The mask is used as a
filter to determine which incoming data you want to be part
of the multicode. Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below). If you send 00 00 (indicating that there are 0 bytes in the byte buffer and that the mask is empty), no mask is used. *Initial value is "*". |
Barcode4 - Symbology | pref_key_data_trans_barcode4_symbology | 0..76 (exclude 20,24,28,29,32,69,71) | Define the type of symbology for each bar code that
makes up the multicode. The scanner will apply the multicode
function only to the symbologies identified. Bar code symbology identifiers are described in Appendix C - Symbology Identifier for FZ-X1. |
Barcode4 - Length | pref_key_data_trans_barcode4_length | 0..65535 | Compose a bar code length for each bar code that
makes up the multicode. *Initial value is "0". |
Barcode4 - Mask | pref_key_data_trans_barcode4_mask | 0-26(Characters) | Compose a mask of up to 26 characters for each bar
code that makes up the multicode. The mask is used as a
filter to determine which incoming data you want to be part
of the multicode. Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below). If you send 00 00 (indicating that there are 0 bytes in the byte buffer and that the mask is empty), no mask is used. *Initial value is "*". |
Barcode5 - Symbology | pref_key_data_trans_barcode5_symbology | 0..76 (exclude 20,24,28,29,32,69,71) | Define the type of symbology for each bar code that
makes up the multicode. The scanner will apply the multicode
function only to the symbologies identified. Bar code symbology identifiers are described in Appendix C - Symbology Identifier for FZ-X1. |
Barcode5 - Length | pref_key_data_trans_barcode5_length | 0..65535 | Compose a bar code length for each bar code that
makes up the multicode. *Initial value is "0". |
Barcode5 - Mask | pref_key_data_trans_barcode5_mask | 0-26(Characters) | Compose a mask of up to 26 characters for each bar
code that makes up the multicode. The mask is used as a
filter to determine which incoming data you want to be part
of the multicode. Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below). If you send 00 00 (indicating that there are 0 bytes in the byte buffer and that the mask is empty), no mask is used. *Initial value is "*". |
Barcode6 - Symbology | pref_key_data_trans_barcode6_symbology | 0..76 (exclude 20,24,28,29,32,69,71) | Define the type of symbology for each bar code that
makes up the multicode. The scanner will apply the multicode
function only to the symbologies identified. Bar code symbology identifiers are described in Appendix C - Symbology Identifier for FZ-X1. |
Barcode6 - Length | pref_key_data_trans_barcode6_length | 0..65535 | Compose a bar code length for each bar code that
makes up the multicode. *Initial value is "0". |
Barcode6 - Mask | pref_key_data_trans_barcode6_mask | 0-26(Characters) | Compose a mask of up to 26 characters for each bar
code that makes up the multicode. The mask is used as a
filter to determine which incoming data you want to be part
of the multicode. Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below). If you send 00 00 (indicating that there are 0 bytes in the byte buffer and that the mask is empty), no mask is used. *Initial value is "*". |
Barcode7 - Symbology | pref_key_data_trans_barcode7_symbology | 0..76 (exclude 20,24,28,29,32,69,71) | Define the type of symbology for each bar code that
makes up the multicode. The scanner will apply the multicode
function only to the symbologies identified. Bar code symbology identifiers are described in Appendix C - Symbology Identifier for FZ-X1. |
Barcode7 - Length | pref_key_data_trans_barcode7_length | 0..65535 | Compose a bar code length for each bar code that
makes up the multicode. *Initial value is "0". |
Barcode7 - Mask | pref_key_data_trans_barcode7_mask | 0-26(Characters) | Compose a mask of up to 26 characters for each bar
code that makes up the multicode. The mask is used as a
filter to determine which incoming data you want to be part
of the multicode. Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below). If you send 00 00 (indicating that there are 0 bytes in the byte buffer and that the mask is empty), no mask is used. *Initial value is "*". |
Barcode8 - Symbology | pref_key_data_trans_barcode8_symbology | 0..76 (exclude 20,24,28,29,32,69,71) | Define the type of symbology for each bar code that
makes up the multicode. The scanner will apply the multicode
function only to the symbologies identified. Bar code symbology identifiers are described in Appendix C - Symbology Identifier for FZ-X1. |
Barcode8 - Length | pref_key_data_trans_barcode8_length | 0..65535 | Compose a bar code length for each bar code that
makes up the multicode. *Initial value is "0". |
Barcode8 - Mask | pref_key_data_trans_barcode8_mask | 0-26(Characters) | Compose a mask of up to 26 characters for each bar
code that makes up the multicode. The mask is used as a
filter to determine which incoming data you want to be part
of the multicode. Since the parameter format is a byte buffer with a variable number of bytes, the size must be indicated in the first 2 bytes of the <PARAM> field (see example below). If you send 00 00 (indicating that there are 0 bytes in the byte buffer and that the mask is empty), no mask is used. *Initial value is "*". |
Data transmission settings
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Post-Scan Action | pref_key_post_scan_action | 0..36 | Select the action after scanning data. *0 - Nothing 1 - TAB 2 - ENTER 3 - DEL 4 - ALT LEFT 5 - ALT RIGHT 6 - CTRL LEFT 7 - CTRL RIGHT 8 - SHIFT LEFT 9 - SHIFT RIGHT 10 - CLEAR 11 - ESCAPE 12 - F1 13 - F2 14 - F3 15 - F4 16 - F5 17 - F6 18 - F7 19 - F8 20 - F9 21 - F10 22 - F11 23 - F12 24 - DPAD UP 25 - DPAD DOWN 26 - DPAD LEFT 27 - DPAD RIGHT 28 - DPAD CENTER 29 - PAGE UP 30 - PAGE DOWN 31 - CAPS LOCK 32 - SCROLL LOCK 33 - NUM LOCK 34 - SEARCH 35 - SOFT LEFT 36 - SOFT RIGHT |
Data transmission settings-Data Editing
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Toughpad Api | pref_key_data_editing_toughpad_api | 0-256(Characters) | Enter data editing rules of Toughpad Api. If the user uses the => as a non-control character, it is escaped by putting a \(reverse solidus) before the =>. If the user uses the; as a non-control character, it is escaped by putting a \(reverse solidus) before the ;. Ex.) Data Editing Rule : ^0+=>; Edit result of when user scan the "001234500007" : upca, 001234500007, 12, 1234500007, 10, ^0+=> The meaning of this rule, remove leading zeros in the scan data. *Initial value is <Empty>. |
Intent output | pref_key_data_editing_intent_output | 0-256(Characters) | Enter data editing rules of Intent output. If the user uses the => as a non-control character, it is escaped by putting a \(reverse solidus) before the =>. If the user uses the ; as a non-control character, it is escaped by putting a \(reverse solidus) before the ;. Ex.) Data Editing Rule : ^0+=>; Edit result of when user scan the "001234500007" : upca, 001234500007, 12, 1234500007, 10, ^0+=> The meaning of this rule, remove leading zeros in the scan data. *Initial value is <Empty>. |
Keyboard wedge | pref_key_data_editing_keyboard_wedge | 0-256(Characters) | Enter data editing rules of Keyboard wedge. If the user uses the => as a non-control character, it is escaped by putting a \(reverse solidus) before the =>. If the user uses the ; as a non-control character, it is escaped by putting a \(reverse solidus) before the ;. Ex.) Data Editing Rule : ^0+=>; Edit result of when user scan the "001234500007" : upca, 001234500007, 12, 1234500007, 10, ^0+=> The meaning of this rule, remove leading zeros in the scan data. *Initial value is <Empty>. |
IP output | pref_key_data_editing_ip_output | 0-256(Characters) | Enter data editing rules of IP output. If the user uses the => as a non-control character, it is escaped by putting a \(reverse solidus) before the =>. If the user uses the; as a non-control character, it is escaped by putting a \(reverse solidus) before the ;. Ex.) Data Editing Rule : ^0+=>; Edit result of when user scan the "001234500007" : upca, 001234500007, 12, 1234500007, 10, ^0+=> The meaning of this rule, remove leading zeros in the scan data. *Initial value is <Empty>. |
Data transmission settings
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Encoding | pref_key_data_editing_encoding | 0..23 | Select the data editing encoding. 0 - IBM437 United States 1 - IBM737 Greek 2 - IBM775 Baltic 3 - IBM850 Latin-1 4 - IBM852 Latin-2 5 - IBM855 Cyrillic 6 - IBM857 Turkish 7 - IBM866 Russian 8 - Windows-1250 Central European 9 - Windows-1251 Cyrillic 10 - Windows-1252 Latin-1 11 - Windows-1253 Greek 12 - Windows-1254 Turkish 13 - Windows-1257 Baltic 14 - KOI8-R Russian 15 - KOI8-U Ukrainian 16 - ISO-8859-2 Latin-2 17 - ISO-8859-3 Latin-3 18 - ISO-8859-4 Baltic 19 - ISO-8859-5 Cyrillic 20 - ISO-8859-7 Greek 21 - UTF-7 *22 - UTF-8 23 - Shift-JIS |
Operating settings
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Predefined trigger modes | pref_key_op_predefined_trigger_mode | 0..2 | Select a trigger mode. 0 - Toggle A trigger event activates decode processing, which continues until the trigger event ends, a valid decode, or the decode session time-out occurs. *1 - Level While pressing the trigger, the device is a DECODING state. When user release the trigger, the device returns to the IDLE state. After a successful scan, the device returns to the IDLE state. Operating state after the scan success is different by Turn off after good read setting. If Aiming duration is not set to 0, when the user presses the trigger, the device will be AIMER state, wait specified number of seconds, then becomes DECODE state. 2 - Auto Aim When the user presses the trigger, the device will transition to AIMING state. When the user releases the trigger, the device will transition to DECODING state. Operating state after the scan success is different by Turn off after good read setting. |
Turn off after good read | pref_key_op_turn_off_after_good_read | 0,1 | When active, the aimer, illumination and decoding
stop the reading session after a successful decoding. 0 - Disable/Auto-trigger *1 - Enable/One-shot |
Auto-trigger delay(msec) | pref_key_op_auto_trigger_delay | 0..10000 | Only valid if "Turn off after good read" is disabled. This setting is a time delay in which the scanner turns off after a good read. When the delay is done, the scanner automatically turns back on (retriggers).The aimer and illumination are kept turning on. Value is in milliseconds. *Initial value is "0". |
Aiming Duration(msec) | pref_key_op_aiming_duration | 0..10000 | When the user presses the trigger, the device will be
AIMER state, wait specified number of seconds, then becomes
DECODE state. *Initial value is "0". |
Audio Feedback | pref_key_audio_feedback | String(URI) | Enter an URI of audio tone to sound upon a good
decode. User can know the URI referring to RingtoneManager. If user wants to set silence, set this parameter empty. Ex. "content://media/internal/audio/media/32" *Initial value is "default_beep". User can add audio tone by placing a sound source files in the following directory, /sdcard/Notifications/ |
Haptic Feedback | pref_key_haptic_feedback | true,false | Enable the device to vibrate upon a good decode. true - Enable *false - Disable |
LED Feedback | pref_key_led_feedback | true,false | Enable the device to LED notice upon a good decode. true - Enable *false - Disable |
Imager settings
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Pre-defined imager setting | pref_key_imager_predefined | 0..3 | Pre-defined imager settings are used to quickly set
up your imager for reading certain types of bar codes in
different environments. When using a pre-defined imager
setting, do not set the other imager settings unless needed. 0 - 1D code only *1 - Standard 1D and 2D codes 2 - 1D and 2D bright environment 3 - 1D and 2D reflective surface |
Decode mode | pref_key_imager_decode_mode | 0,1 | Select an imager decode mode: 0 - Linear imager emulation Used primarily for reading 1-dimensional bar codes. This mode increases imaging performance however you must hold the scanner horizontal to the bar code label. You can read PDF417 codes when using this mode. *1 - 2D imager Used for reading 2-dimensional bar codes. When using 2D imager mode you can read a bar code holding the scanner in any direction (omni-directional scanning). You can also read 1D bar codes in this mode. |
Lighting goal | pref_key_imager_lighting_goal | 0..255 | The lighting goal is the average light intensity that
the scanner tries to achieve when capturing an image. If the
lighting goal is set too low, the image will be dark
(underexposed). If it is set too high the image will be too
bright (overexposed). *Initial value is "128". |
Top position | pref_key_imager_top_position | 0..230 | Use the top position setting to define where the top
of the image starts. Use this parameter in combination with
the bottom position parameter to constrain your scanning to a
specific area. The parameter value is a number of pixels from
0 to the maximum height -1. *Initial value is "0". |
Bottom position | pref_key_imager_bottom_position | 240..479 | Use the bottom position setting to define where the
bottom of the image ends. Use this parameter in combination
with the top position parameter to constrain your scanning to
a specific area. The parameter value is a number of pixels
from 0 to the maximum height -1. *Initial value is "479". |
Aimer flashing | pref_key_imager_aimer_flashing | 0..2 | The aimer which is used to aim at the bar code you
want to read can be on all the time, flashing or always off.
When using aimer flashing mode the aimer beam flashes so that
you can position the aimer on the bar code and then turns off
to read the bar code. This ensures the least amount of
interference from the light of the aimer beam and optimizes
decoding. 0 - aimer always on *1 - aimer flashing (optimize for decode) 2 - aimer always off |
Illumination level | pref_key_imager_illumination_level | 0..100 | Set the maximum brightness level of the illumination
LEDs that can be used to achieve the lighting goal. The
parameter value corresponds to a percentage from 0 to 100%
(0% = off, 100% = brightest). *Initial value is "40". |
Maximum lightning and exposure | pref_key_imager_max_light_exp | true,false | Enable or Disable Maximum lightning and exposure. *true - Enable false - Disable |
Initial 1D search area | pref_key_imager_init_1d_search_area | 0,3,4 | The initial 1D search area setting is used to do a
quick horizontal search on part of the image to find the 1D
bar code to be decoded. If found the 1D bar code is decoded,
if not found the scanner continues to do an omni-directional
search on the rest of the image. This function optimizes 1D
horizontal decoding and is only applied to activated 1D
symbologies. *0 - center 3 - full 4 - smart raster |
Damaged 1D codes | pref_key_imager_damaged_1d_codes | true,false | Enable this function when scanning damaged or badly
printed 1-D bar codes. This setting enhances the ability to
read these types of bar codes. true - Enable *false - Disable |
Decode security
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Consecutive data validation | pref_key_decode_cons_data_valid | 0..10 | Select the number of consecutive same reads before
transmission. Data is only transmitted after the selected
number of repeated reads gives the same results. The parameter value corresponds to a numerical value from 0 to 10. When this parameter is set to 0 the scanner automatically adapts the number of consecutive same reads depending on the bar code quality and trust level (for example a bar code with a check needs less reads than one without). *Initial value is "0". |
Identical consecutive timeout(msec) | pref_key_decode_identical_consecutive_timeout | 0..2550 | The timeout between identical consecutive reads
prevents reading the same bar code more than once. To read
the same bar code twice you must wait until the end of the
timeout before scanning the code again. The parameter value
corresponds to a value in milliseconds. *Initial value is "1000". |
Different consecutive timeout(msec) | pref_key_decode_different_consecutive_timeout | 0..2550 | The timeout between different consecutive reads
prevents unwanted reading of different bar codes on the same
label. To read a different bar code, wait until the end of the timeout before scanning the new code. The parameter value corresponds to a value in milliseconds (0 to 2550 milliseconds). *Initial value is "0". |
Center decoding | pref_key_decode_center_decoding | true,false | Enable or disable center decoding. When enabled the
scanner reads only the bar code that the laser aimer is aimed
at. This is helpful when reading bar codes that are
positioned close together. Use center decoding tolerance to
adjust the precision of the laser aimer. true - Enable *false - Disable |
Tolerance level | pref_key_decode_tolerance_level | 0..100 | Set the center decoding tolerance from 0 to 100. The
tolerance level is used to adjust how precise you want the
laser aimer to be. When set to 0 there is no tolerance and
the aimer must be positioned directly on the bar code to be
read. The higher the setting the more tolerance which allows
you to position the aimer close to the bar code to be read
(without having to be positioned directly on the bar code). *Initial value is "100". |
Bar code sequence | pref_key_decode_barcode_sequence | 1..10 | Bar code sequence allows you to read up to 10 bar
codes with one trigger pull. This is useful when reading
several bar codes placed closely together and without
re-reading the same code twice. For example, if set to 2,
pull the trigger once and scan both codes. The scanner beeps
for each code that is decoded (2). If "turn off after good
read" is enabled the scanner turns off AFTER the last bar
code in the sequence is read. Compose the number of bar codes
for the sequence. *Initial value is "1". |
Keyboard wedge
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Keyboard wedge | pref_key_keyboard_wedge | true,false | Enable or Disable Keyboard wedge Keyboard wedge function means that the value of barcode object is inputted in activate text box. *true - Enable false - Disable |
Intent output settings
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
Intent output | pref_key_intent_intent_output | true,false | Enable or Disable Intent output
function. true – Enable *false - Disable User can get barcode data via intent that user created. If user set this parameter true, user must set intent information (action name/Intent category name/Intent delivery type) by setting related parameters. Intent contents: Intent contains the following data. User can get these data by Intent.getStringExtra() and Intent.getSerializableExtra().
|
Intent action name | pref_key_intent_action_name | 0-100(Characters) | User can define Intent action name. This setting must be within 100 characters. *Initial value is <Empty>. |
Intent category name | pref_key_intent_category_name | 0-100(Characters) | User can define Intent category name. This setting must be within 100 characters. Enter category name of intent. *Initial value is <Empty>. |
Intent delivery type | pref_key_intent_delivery_type | 0..2 | Select delivery type of intent. *0 - Send via StartActivity 1 - Send via startService 2 - Broadcast intent |
IP output settings
Parameter | Key | Value range | Description (* indicates the initial value) |
---|---|---|---|
IP output | pref_key_ip_output | true,false | Enable or Disable IP output function. true - Enable *false - Disable IP packet is sent according to IP address/Port/Protocol that user defined. If user set this parameter true, user must set IP information (IP address, port, host name). IP packet is contained the scan data as a binary data. For example Barcode application sends as below.
|
Protocol | pref_key_protocol | 0,1 | Select IP protocol *0 - TCP 1 - UDP |
Hostname | pref_key_hostname | 0-253(Characters) | Enter the host name. This setting must be within 253 characters. *Initial value is <Empty>. |
Port | pref_key_port | 1..65535 | Enter the port number. This value must be between 1 and 65535. *Initial value is "49152". |
Appendix C - Symbology Identifier for FZ-X1
Value | Symbology |
---|---|
0 | all symbologies |
1 | EAN-13 |
2 | EAN-8 |
3 | UPC-A |
4 | UPC-E |
5 | EAN-13 with addon2 |
6 | EAN-8 with addon2 |
7 | UPC-A with addon2 |
8 | UPC-E with addon2 |
9 | EAN-13 with addon5 |
10 | EAN-8 with addon5 |
11 | EAN-A with addon5 |
12 | EAN-E with addon5 |
13 | Code 39 |
14 | Han Xin |
15 | Interleaved 2 of 5 |
16 | Standard 2 of 5 |
17 | Matrix 2 of 5 |
18 | Intelligent Mail |
19 | Codabar |
20 | - (unused) |
21 | MSI |
22 | Plessey |
23 | Code 128 |
24 | - (unused) |
25 | Code 93 |
26 | Code 11 |
27 | Telepen |
28 | - (unused) |
29 | - (unused) |
30 | Codablock A |
31 | Codablock F |
32 | - (unused) |
33 | PDF417 |
34 | GS1-128 |
35 | ISBT128 |
36 | Micro PDF417 |
37 | GS1 DataBar Omni-Directional |
38 | GS1 DataBar Limited |
39 | GS1 DataBar Expanded |
40 | DataMatrix |
41 | QR Code |
42 | MaxiCode |
43 | GS1 DataBar Omni-Dir Composite (CC-A) |
44 | GS1 DataBar Limited Composite (CC-A) |
45 | GS1 DataBar Expanded Composite (CC-A) |
46 | GS1 Composite/GS1-128 Composite (CC-A) |
47 | EAN-13 Composite (CC-A) |
48 | EAN-8 Composite (CC-A) |
49 | UPC-A Composite (CC-A) |
50 | UPC-E Composite (CC-A) |
51 | GS1 DataBar Omni-Dir Composite (CC-B) |
52 | GS1 DataBar Limited Composite (CC-B) |
53 | GS1 DataBar Expanded Composite (CC-B) |
54 | GS1 Composite/GS1-128 Composite (CC-B) |
55 | EAN-13 Composite (CC-B) |
56 | EAN-8 Composite (CC-B) |
57 | UPC-A Composite (CC-B) |
58 | UPC-E Composite (CC-B) |
59 | GS1 Composite/GS1-128 Composite (CC-C) |
60 | ISBN |
61 | Postnet |
62 | Planet |
63 | BPO |
64 | Canada Post |
65 | Australian Post |
66 | Japan Post |
67 | Dutch Post |
68 | China Post |
69 | - (unused) |
70 | TLC39 |
71 | - (unused) |
72 | ISMN |
73 | ISSN |
74 | Aztec |
75 | Sweden Post |
76 | Infomail |
TouchOperationSettings
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | ✓ | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | - | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the Intent API specifications for touch operation settings.
Also for the user to create an application which will change touch operation mode settings.
Intent API specification
User can change touch operation settings by using broadcast Intent APIs.
These APIs provide the following functions.
- (1) Change mode
- (2) Get current mode status
- (3) Detect changing mode
- (4) Check active pen battery level
- (5) Disable touch detection temporarily
- (6) Stylus pen settings
- (7) Glove touch settings
- (8) Rain sensing touch settings
- (9) Finger sensitivity settings
- (10) Touch operation mode settings
Support functions for each model are as following.
Support Functions List for each model
Function | Model | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
FZ-X1 | FZ-N1 | FZ-T1 | FZ-L1 | FZ-A3 | ||||||
JB | LP | LP | M | O | P | O | P | O | P | |
(1) Change mode | - | ✓ | ✓ | ✓ | ✓ | ✓ | - | - | - | - |
(2) Get current mode status | - | ✓ | ✓ | ✓ | ✓ | ✓ | - | - | - | - |
(3) Detect changing mode | - | ✓ | ✓ | ✓ | ✓ | ✓ | - | - | - | - |
(4) Check active pen battery level | - | - | ✓ | ✓ | ✓ | ✓ | - | - | - | - |
(5) Disable touch detection temporarily | - | - | - | - | ✓ | ✓ | - | - | - | - |
(6) Stylus pen settings | - | - | - | - | ✓ | ✓ | - | - | - | - |
(7) Glove touch settings | - | - | - | - | ✓ | ✓ | - | - | - | ✓ |
(8) Rain sensing touch settings | - | - | - | - | ✓ | ✓ | - | - | - | ✓ |
(9) Finger sensitivity settings | - | - | - | - | ✓ | ✓ | - | - | - | ✓ |
(10) Touch operation mode settings | - | - | - | - | - | - | ✓ | ✓ | ✓ | ✓ |
(1) Change mode
User can change touch operation mode by using broadcast Intent API.
(In the case of FZ-T1 / FZ-L1 / FZ-A3, user can use the API described in another chapter "(10) Touch operation mode settings" instead of this Change Mode API.)
Function | Model | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
FZ-X1 | FZ-N1 | FZ-T1 | FZ-L1 | FZ-A3 | ||||||
JB | LP | LP | M | O | P | O | P | O | P | |
Change mode | - | ✓ | ✓ | ✓ | ✓ | ✓ | - | - | - | - |
Function prototype
int mode = 0 [ or 1];
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra(EXTRA_DATA, mode);
Parameters
Name | Type | Value |
---|---|---|
ACTION | String | "com.panasonic.mobile.tpsettings.SET_MODE" |
EXTRA_DATA | String | "glove" for Glove touch mode "rain_sensing" for Rain sensing touch mode "stylus" for Stylus pen mode (FZ-X1 is not spported.) |
mode | int | 0 to disable 1 to enable |
Sample source code
This sample source code shows how to chang touch operation mode.Intent i = new Intent();
// enable Glove touch
int gloveMode = 1;
i.setAction("com.panasonic.mobile.tpsettings.SET_MODE");
i.putExtra("glove", gloveMode);
sendBroadcast(i);
// disable Rain sensing touch
int rainSensingMode = 0;
i.setAction("com.panasonic.mobile.tpsettings.SET_MODE");
i.putExtra("rain_sensing", rainSensingMode);
sendBroadcast(i);
// enable Stylus pen mode (FZ-X1 is not supported.)
int stylusPenMode = 1;
i.setAction("com.panasonic.mobile.tpsettings.SET_MODE");
i.putExtra("stylus", stylusPenMode);
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
// enable Glove touch
adb shell am broadcast -a com.panasonic.mobile.tpsettings.SET_MODE --ei glove 1
//disable Rain sensing touch
adb shell am broadcast -a com.panasonic.mobile.tpsettings.SET_MODE --ei rain_sensing 0
// enable Stylus pen mode [for FZ-N1]
adb shell am broadcast -a com.panasonic.mobile.tpsettings.SET_MODE --ei stylus 1
Remarks
[for only FZ-N1]
User can choose "Stylus pen type" ("Active pen only", "Passive pen only" (default), "Active and Passive pen").
When "Stylus pen mode" is enabled by this API,
the actual enabled pen type is according to the value of "Stylus pen type". (Refer to "Stylus pen type")
(2) Get current mode status
User can get current touch operation mode by using broadcast Intent API.
Function | Model | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
FZ-X1 | FZ-N1 | FZ-T1 | FZ-L1 | FZ-A3 | ||||||
JB | LP | LP | M | O | P | O | P | O | P | |
Get current mode status | - | ✓ | ✓ | ✓ | ✓ | ✓ | - | - | - | - |
- Send "Probe" broadcast Intent
- Receive "Response" broadcast Intent
Function prototype
// 1. Send "Probe" broadcast Intent
Intent i = new Intent();
i.setAction(PROBE_ACTION);
sendBroadcast(i);
// 2. Receive "Response" broadcast Intent
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
boolean status = intent.getBooleanExtra(EXTRA_DATA, false);
}
};
IntentFilter filter = new IntentFilter();
filter.addAction(RESPONSE_ACTION);
registerReceiver(receiver, filter);
Parameters
Name | Type | Value |
---|---|---|
PROBE_ACTION | String | "com.panasonic.mobile.tpsettings.PROBE" |
RESPONSE_ACTION | String | "com.panasonic.mobile.tpsettings.PROBE_RESPONSE" |
EXTRA_DATA | String | "glove" for Glove touch mode "rain_sensing"for Rain sensing touch mode "stylus" for Stylus pen mode (FZ-X1 is not supported.) |
Sample source code
This Sample Source Code is geting current Touch Operation Mode.// Prepare for receiving "Response" broadcast Intent
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("com.panasonic.mobile.tpsettings.PROBE_RESPONSE")) {
// Extract status from received Intent
// Glove touch
boolean gloveStatus = intent.getBooleanExtra("glove", false);
// Rain sensing touch
boolean rainSensingStatus = intent.getBooleanExtra("rain_sensing", false);
// Stylus pen (FZ-X1 is not supported.)
boolean stylusPenStatus = intent.getBooleanExtra("stylus", false);
}
}
};
IntentFilter filter = new IntentFilter();
filter.addAction("com.panasonic.mobile.tpsettings.PROBE_RESPONSE");
registerReceiver(receiver, filter);
// Send "Probe" broadcast Intent after prior preparation
Intent i = new Intent();
i.setAction("com.panasonic.mobile.tpsettings.PROBE");
sendBroadcast(i);
(3) Detect changing mode
User can detect touch panel mode changing by receiving broadcast Intent API described in this section.
Function | Model | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
FZ-X1 | FZ-N1 | FZ-T1 | FZ-L1 | FZ-A3 | ||||||
JB | LP | LP | M | O | P | O | P | O | P | |
Detect changing mode | - | ✓ | ✓ | ✓ | ✓ | ✓ | - | - | - | - |
Function prototype
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// Extract new status from received Intent
boolean status = intent.getBooleanExtra(EXTRA_DATA, false);
}
};
IntentFilter filter = new IntentFilter();
filter.addAction(ACTION);
registerReceiver(receiver, filter);
Parameters
Name | Type | Value |
---|---|---|
ACTION | String | "com.panasonic.mobile.tpsettings.glovesettings.UPDATED_GLOVE_TOUCH"
for Glove touch mode "com.panasonic.mobile.tpsettings.waterproofsettings.UPDATED_WATER_PROOF_TOUCH" for Rain sensing touch mode "com.panasonic.mobile.tpsettings.stylussettings.UPDATED_STYLUS" for Stylus pen mode (FZ-X1 is not supported.) |
EXTRA_DATA | String | "enable" |
Sample source code
This sample source code shows how to receive Intent when touch operation mode is changed.static final String ACTION_GLOVE
= "com.panasonic.mobile.tpsettings.glovesettings.UPDATED_GLOVE_TOUCH";
static final String ACTION_RAIN_SENSING
= "com.panasonic.mobile.tpsettings.waterproofsettings.UPDATED_WATER_PROOF_TOUCH";
static final String ACTION_STYLUS
= "com.panasonic.mobile.tpsettings.stylussettings.UPDATED_STYLUS";
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// Extract new status from received Intent
if (intent.getAction().equals(ACTION_GLOVE)) {
// Glove touch mode is changed
boolean gloveStatus = intent.getBooleanExtra("enable", false);
} else if (intent.getAction().equals(ACTION_RAIN_SENSING)) {
// Rain sensing touch mode is changed
boolean rainSensingStatus = intent.getBooleanExtra("enable", false);
} else if (intent.getAction().equals(ACTION_STYLUS)) {
// Stylus pen mode is changed (FZ-X1 is not supported.)
boolean stylusPenStatus = intent.getBooleanExtra("enable", false);
}
}
};
IntentFilter filter = new IntentFilter();
filter.addAction(ACTION_GLOVE); // for Glove touch
filter.addAction(ACTION_RAIN_SENSING); // for Rain sensing touch
filter.addAction(ACTION_STYLUS); // for Stylus pen (FZ-X1 is not supported.)
registerReceiver(receiver, filter);
(4) Check active pen battery level
User can check active pen battery level.
Function | Model | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
FZ-X1 | FZ-N1 | FZ-T1 | FZ-L1 | FZ-A3 | ||||||
JB | LP | LP | M | O | P | O | P | O | P | |
Check active pen battery level | - | - | ✓ | ✓ | ✓ | ✓ | - | - | - | - |
Active pen (genuine accessory of FZ-N1) needs a battery to detect user's operation. When the battery level becomes low, it is hard to detect user's operation. So FZ-N1 has 2 APIs to check active pen battery level.
FZ-N1 needs a few seconds to obtain the active pen battery level, so the following APIs also have a few seconds delay until updating status from detecting active pen operation.
Active pen battery level definition
Application can get active pen battery level as integer value from received Intent. The meaning of each integer value is described below.
Value | Meaning |
---|---|
3 | Active pen battery level is good. |
2 | Active pen battery level is decreasing. (can work for a while) |
1 | Active pen battery level is low. (recommended to replace the active pen battery) |
0 | Touchscreen is now detecting and measuring active pen battery level. |
-1 | Active pen is not detected. |
Get current active pen battery level
User can get current battery level of active pen by using broadcast Intent API.
Function prototype
// 1. Send "Probe" broadcast Intent
Intent i = new Intent();
i.setAction(PROBE_ACTION);
sendBroadcast(i);
// 2. Receive "Response" broadcast Intent
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
int batteryLevel = intent.getIntExtra(EXTRA_DATA, -1);
}
};
IntentFilter filter = new IntentFilter();
filter.addAction(RESPONSE_ACTION);
registerReceiver(receiver, filter);
Parameters
Name | Type | Value |
---|---|---|
PROBE_ACTION | String | "com.panasonic.mobile.tpsettings.PROBE" |
RESPONSE_ACTION | String | "com.panasonic.mobile.tpsettings.PROBE_RESPONSE" |
EXTRA_DATA | String | "active_stylus_batt_level" |
Sample source code
This sample source code shows how to get current active pen battery level.// Prepare for receiving "Response" broadcast Intent
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("com.panasonic.mobile.tpsettings.PROBE_RESPONSE")) {
// Extract current active pen battery level from received Intent
int batteryLevel = intent.getIntExtra("active_stylus_batt_level", -1);
}
}
};
IntentFilter filter = new IntentFilter();
filter.addAction("com.panasonic.mobile.tpsettings.PROBE_RESPONSE");
registerReceiver(receiver, filter);
// Send "Probe" broadcast Intent after prior preparation
Intent i = new Intent();
i.setAction("com.panasonic.mobile.tpsettings.PROBE");
sendBroadcast(i);
Detect changing active pen battery level
User can detect active pen battery level changing by receiving broadcast Intent API.
Function prototype
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// Extract current active pen battery level from received Intent
int batteryLevel = intent.getIntExtra(EXTRA_DATA, -1);
}
};
IntentFilter filter = new IntentFilter();
filter.addAction(ACTION);
registerReceiver(receiver, filter);
Parameters
Name | Type | Value |
---|---|---|
ACTION | String | "com.panasonic.mobile.tpsettings.ACTIVE_STYLUS_BATT_LEVEL_CHANGED" |
EXTRA_DATA | String | "active_stylus_batt_level" |
Sample source code
This sample source code shows how to receive detection when the active pen battery level is changed.static final String ACTION_ACTIVE_STYLUS_BATT_LEVEL_CHANGED
= "com.panasonic.mobile.tpsettings.ACTIVE_STYLUS_BATT_LEVEL_CHANGED";
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// Extract current active pen battery level from received Intent
if (intent.getAction().equals(ACTION_ACTIVE_STYLUS_BATT_LEVEL_CHANGED)) {
int batteryLevel = intent.getIntExtra("active_stylus_batt_level", -1);
}
}
};
IntentFilter filter = new IntentFilter();
filter.addAction(ACTION_ACTIVE_STYLUS_BATT_LEVEL_CHANGED);
registerReceiver(receiver, filter);
(5) Disable touch detection temporarily
User can disable touch detection temporarily by using broadcast Intent API.
When user uses NFC card, unintended touch detection may occur according to the mechanism of touchscreen because NFC detectable area is placed touchscreen side of FZ-N1.
To avoid such unintended touch detection with NFC, your application can disable touch detection temporarily.
Function | Model | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
FZ-X1 | FZ-N1 | FZ-T1 | FZ-L1 | FZ-A3 | ||||||
JB | LP | LP | M | O | P | O | P | O | P | |
Disable touch detection temporarily | - | - | - | - | ✓ | ✓ | - | - | - | - |
Disable touch detection
User can disable touch detection temporarily.
If your application disables touch detection by this API, touch detection will be re-enabled by the following events.
Function prototype
int duration = 5; // unit is second
Intent i = new Intent();
i.setAction(DISABLE_ACTION);
i.putExtra(EXTRA_DURATION, duration);
Parameters
Name | Type | Value |
---|---|---|
DISABLE_ACTION | String | "com.panasonic.mobile.tpsettings.DISABLE_TOUCH_DETECTION" |
EXTRA_DURATION | String | "duration" |
duration | int | Duration time in second, if duration is not set, default duration (5 seconds) is used. |
Sample source code
This sample source code shows how to disable touch detection temporarily.// disable touch detection in 10 seconds
int duration = 10;
i.setAction("com.panasonic.mobile.tpsettings.DISABLE_TOUCH_DETECTION");
i.putExtra("duration", duration);
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
// disable touch detection in 10 seconds
adb shell am broadcast -a com.panasonic.mobile.tpsettings.DISABLE_TOUCH_DETECTION --ei duration 10
Enable touch detection
User can enable touch detection by using broadcast Intent API. This API can be used during the touch operation is temporarily disabled by "Disable touch detection" API.
Function prototype
Intent i = new Intent();
i.setAction(ENABLE_ACTION);
Parameters
Name | Type | Value |
---|---|---|
ENABLE_ACTION | String | "com.panasonic.mobile.tpsettings.ENABLE_TOUCH_DETECTION" |
Sample source code
This sample source code shows how to enable touch detection.// enable touch detection
Intent i = new Intent();
i.setAction("com.panasonic.mobile.tpsettings.ENABLE_TOUCH_DETECTION");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
// enable touch detection
adb shell am broadcast -a com.panasonic.mobile.tpsettings.ENABLE_TOUCH_DETECTION
Detect changing touch detection status
User can detect change of touch detection status by receiving broadcast Intent API.
This broadcast Intent is received when the following events are executed.
Function prototype
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// Extract current status from received Intent
boolean enabled = intent.getBooleanExtra(EXTRA_DATA, true);
}
};
IntentFilter filter = new IntentFilter();
filter.addAction(ACTION);
registerReceiver(receiver, filter);
Parameters
Name | Type | Value |
---|---|---|
ACTION | String | "com.panasonic.mobile.tpsettings.TOUCH_DETECTION_CHANGED" |
EXTRA_DATA | String | "enable" |
Sample source code
This sample source code shows how to receive broadcast Intent when touch detection status is changed.static final String ACTION_TOUCH_DETECTION_CHANGED
= "com.panasonic.mobile.tpsettings.TOUCH_DETECTION_CHANGED";
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// Extract current status from received Intent
if (intent.getAction().equals(ACTION_TOUCH_DETECTION_CHANGED)) {
boolean enabled = intent.getBooleanExtra("enable", true);
}
}
};
IntentFilter filter = new IntentFilter();
filter.addAction(ACTION_TOUCH_DETECTION_CHANGED);
registerReceiver(receiver, filter);
(6) Stylus pen settings
User can change stylus pen settings by using broadcast Intetn API.
Function | Model | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
FZ-X1 | FZ-N1 | FZ-T1 | FZ-L1 | FZ-A3 | ||||||
JB | LP | LP | M | O | P | O | P | O | P | |
Stylus pen settings | - | - | - | - | ✓ | ✓ | - | - | - | - |
Stylus pen type
User can select stylus pen type by using broadcast Intent API.
Function prototype
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra("OTHER_SETTING_KEY", EXTRA_DATA);
i.putExtra("OTHER_SETTING_VALUE", mode);
Parameters
Name | Type | Value |
---|---|---|
ACTION | String | "panasonic.intent.action.SET_OTHER_SETTING" |
EXTRA_DATA | String | "STYLUS_TYPE " |
mode | string | 1 : Active pen only 2 : Passive pen only 3 : Active and passive pen |
Sample source code
This sample source code shows how to chang stylus pen type to "Active pen only".// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "STYLUS_TYPE");
i.putExtra("OTHER_SETTING_VALUE", "1");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY STYLUS_TYPE --es OTHER_SETTING_VALUE 1
Stylus pen active pressure
Use can selecte stylu pen active pressure by using broadcast Intetn API.
Function prototype
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra("OTHER_SETTING_KEY", EXTRA_DATA);
i.putExtra("OTHER_SETTING_VALUE", mode);
Parameters
Name | Type | Value |
---|---|---|
ACTION | String | "panasonic.intent.action.SET_OTHER_SETTING" |
EXTRA_DATA | String | "ACTIVE_PRESSURE" |
mode | String | 0 : Nomal 1 : Light |
Sample source code
This sample source code shows how to chang stylus pen active pressure to "Light".// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "ACTIVE_PRESSURE");
i.putExtra("OTHER_SETTING_VALUE", "1");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY ACTIVE_PRESSURE --es OTHER_SETTING_VALUE 1
(7) Glove touch settings
User can change Glove touch setting by using broadcast Intent API.
Function | Model | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
FZ-X1 | FZ-N1 | FZ-T1 | FZ-L1 | FZ-A3 | ||||||
JB | LP | LP | M | O | P | O | P | O | P | |
Glove touch settings | - | - | - | - | ✓ | ✓ | - | - | - | ✓ |
Glove thickness
User can change Glove thickness setting by using broadcast Intent API.
Function prototype
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra("OTHER_SETTING_KEY", EXTRA_DATA);
i.putExtra("OTHER_SETTING_VALUE", mode);
Parameters
Name | Type | Value |
---|---|---|
ACTION | String | "panasonic.intent.action.SET_OTHER_SETTING" |
EXTRA_DATA | String | "GLOVE_SENSITIVITY" |
mode | string | 1 : Thin 2 : Medium 3 : Thick |
Sample source code
This Sample source code shows how to chang Glove thickness setting to "Thin".// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "GLOVE_SENSITIVITY");
i.putExtra("OTHER_SETTING_VALUE", "1");
sendBroadcast(i);
Sample command
// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY GLOVE_SENSITIVITY --es OTHER_SETTING_VALUE 1
Coordinates offset
User can change Coordinates offset setting by using broadcast Intetn API.
Function prototype
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra("OTHER_SETTING_KEY", EXTRA_DATA);
i.putExtra("OTHER_SETTING_VALUE", mode);
Parameters
Name | Type | Value |
---|---|---|
ACTION | String | "panasonic.intent.action.SET_OTHER_SETTING" |
EXTRA_DATA | String | " COORDINATES_OFFSET " |
mode | String | -1 : None 0 : Auto 1 : Low 2 : Medium 3 : High |
Sample source code
This sample source code shows how to chang Coordinates offset setting to "Auto".// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "COORDINATES_OFFSET");
i.putExtra("OTHER_SETTING_VALUE", "0");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY COORDINATES_OFFSET --es OTHER_SETTING_VALUE 0
(8) Rain sensing touch settings
User can change Rain sensing touch settings by using broadcast Intent API.
Function | Model | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
FZ-X1 | FZ-N1 | FZ-T1 | FZ-L1 | FZ-A3 | ||||||
JB | LP | LP | M | O | P | O | P | O | P | |
Rain sensing touch settings | - | - | - | - | ✓ | ✓ | - | - | - | ✓ |
Function prototype
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra("OTHER_SETTING_KEY", EXTRA_DATA);
i.putExtra("OTHER_SETTING_VALUE", mode);
Parameters
Name | Type | Value |
---|---|---|
ACTION | String | "panasonic.intent.action.SET_OTHER_SETTING" |
EXTRA_DATA | String | "WATER_LEVEL" |
mode | string | 0 : light 1 : heavy |
Sample source code
This sample source sode shows how to chang Rain condition setting to "light".// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "WATER_LEVEL");
i.putExtra("OTHER_SETTING_VALUE", "0");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY WATER_LEVEL --es OTHER_SETTING_VALUE 0
(9) Finger sensitivity settings
User can change Finger sensitivity setting by using broadcast Intent API.
Function | Model | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
FZ-X1 | FZ-N1 | FZ-T1 | FZ-L1 | FZ-A3 | ||||||
JB | LP | LP | M | O | P | O | P | O | P | |
Finger sensitivity settings | - | - | - | - | ✓ | ✓ | - | - | - | ✓ |
Function prototype
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra("OTHER_SETTING_KEY", EXTRA_DATA);
i.putExtra("OTHER_SETTING_VALUE", mode);
Parameters
Name | Type | Value |
---|---|---|
ACTION | String | "panasonic.intent.action.SET_OTHER_SETTING" |
EXTRA_DATA | String | "FINGER_SENSITIVITY" |
mode | string | 0 : High 1 : Medium 2 : Low |
Sample source code
This sample source code how to chang Finger sensitivity setting to "Medium".// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "FINGER_SENSITIVITY");
i.putExtra("OTHER_SETTING_VALUE", "1");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY FINGER_SENSITIVITY --es OTHER_SETTING_VALUE 1
(10) Touch operation mode settings
User can change Touch operation mode by using broadcast Intent.
Function | Model | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
FZ-X1 | FZ-N1 | FZ-T1 | FZ-L1 | FZ-A3 | ||||||
JB | LP | LP | M | O | P | O | P | O | P | |
Touch operation mode settings | - | - | - | - | - | - | ✓ | ✓ | ✓ | ✓ |
Function prototype
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra("OTHER_SETTING_KEY", EXTRA_DATA);
i.putExtra("OTHER_SETTING_VALUE", mode);
Parameters
Name | Type | Value |
---|---|---|
ACTION | String | "panasonic.intent.action.SET_OTHER_SETTING" |
EXTRA_DATA | String | "TOUCH_OPERATION_MODE" |
mode | string | 0 : Normal mode 1 : glove mode 2 : stylus pen mode 3 : Rain sensing touch mode |
Sample source code
This sample source code shows how to chang Touch operation mode to "glove mode".// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "TOUCH_OPERATION_MODE");
i.putExtra("OTHER_SETTING_VALUE", "1");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY TOUCH_OPERATION_MODE --es OTHER_SETTING_VALUE 1
FOTA Direct launch
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | ✓ | ✓ | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to update Software (except for upgrade OS version) by remote operation.
Overview
By using intent, user can invoke System Update without any user operation (skip showing dialogs and manual operations), using update image file which is stored in the internal storage in advance.
How to use
Send intent, after storing the update image file (delta file) at a predetermined position (/storage/sdcard0/Download/),
Notice
- FZ-X1(Android 4.2.2 /Android 5.1.1) ,FZ-N1(Android 5.1.1)
Panasonic Platform Signature is required for the app which use this intent.
From security perspective, Panasonic assigns ‘signatureOrSystem’ permission to invoke this function.
- FZ-N1(Android 6.0.1 or later) ,FZ-T1 ,FZ-L1 ,FZ-A3
Panasonic Platform Signature is not required. (Any application can use this intent)
Procedure
Launch Activity(.SoftwareUpdateStartNoDialog)
Launch the SoftwareUpdateStartNoDialog activity in com.panasonic.mobile.settings.settingsupdate package by intent.
<activity android:name=".SoftwareUpdateStartNoDialog"
android:label="@string/app_name"
android:permission="com.panasonic.mobile.settings.settingsupdate.NO_DIALOG_START">
<intent-filter>
<action android:name="com.panasonic.mobile.settingsupdate.intent.action.NO_DIALOG_START"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
(Sample snippet)
Intent i = new Intent();
i.setClassName("com.panasonic.mobile.settings.settingsupdate",
"com.panasonic.mobile.settings.settingsupdate.SoftwareUpdateStartNoDialog");
startActivityForResult(i, 0);
For FZ-X1(Android 4.2.2 /Android 5.1.1) and FZ-N1(Android 5.1.1): (See also "Notice")
NO_DIALOG_START permission is defined in SoftwareUpdateStartNoDialog Activity. This permission can be granted only to an application signed with Panasonic platform signature.
<permission android:name="com.panasonic.mobile.settings.settingsupdate.NO_DIALOG_START"
android:label="@string/permlab_sofware_update_start_no_dialog"
android:description="@string/permdesc_sofware_update_start_no_dialog"
android:protectionLevel="signatureOrSystem"/>
Result Notification
(1)[Result list onActivityResult]
resultCode | Cause |
---|---|
5 | Already executing software update |
6 | No SD card |
7 | No valid update file |
8 | Two or more update file |
9 | Not enough battery level |
10 | Failed to move files |
11 | Not enough user space |
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode==0){
Log.d("onActivityResult", "resultCode = " + resultCode);
}
}
This code should be implemented in a class which extends Activity.
(2)[Result by BroadcastIntent]
(a) Result list by BroadcastIntent before system update execution. (For FZ-N1(Android 8.1.0/Android 9.0) and FZ-T1(Android 9.0) and FZ-A3)
action name | com.panasonic.mobile.settingsupdate.intent.action.BROADCAST_RESULT |
---|---|
extra "resultCode"(Int) | Same as "(1)[Result list onActivityResult]" |
@Override
public void onReceive(Context context, Intent intent){
String action = intent.getAction();
if("com.panasonic.mobile.settingsupdate.intent.action.BROADCAST_RESULT".equals(action)){
int resultCode = intent.getBooleanExtra("resultCode", -1);
if(resultCode = 5){
Log.d("onReceive", "received resultCode : Already executing software update");
}else if(resultCode = 6){
Log.d("onReceive", "received resultCode : No SD card");
}else if(resultCode = 7){
Log.d("onReceive", "received resultCode : No valid update file");
}else if(resultCode = 8){
Log.d("onReceive", "received resultCode : Two or more update file");
}else if(resultCode = 9){
Log.d("onReceive", "received resultCode : Not enough battery level");
}else if(resultCode = 10){
Log.d("onReceive", "received resultCode : Failed to move files");
}else if(resultCode = 11){
Log.d("onReceive", "received resultCode : Not enough user space");
}
}
}
This code should be implemented in a class which extends BroadcastReceiver.
(b) Result list by BroadcastIntent after system update execution.
action name | com.panasonic.mobile.settingsupdate.intent.action.BROADCAST_RESULT |
---|---|
extra "result"(Boolean) | true : update success false : update fail |
permission | com.panasonic.mobile.settings.settingsupdate.NO_DIALOG_START # requires NO_DIALOG_START permission to receive, too. |
@Override
public void onReceive(Context context, Intent intent){
String action = intent.getAction();
if("com.panasonic.mobile.settingsupdate.intent.action.BROADCAST_RESULT".equals(action)){
if(intent.getBooleanExtra("result", false)){
Log.d("onReceive", "received result : true");
}else{
Log.d("onReceive", "received result : false");
}
}
}
This code should be implemented in a class which extends BroadcastReceiver.
Remote OS version up
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | ✓ | - | - | - | - | - |
FZ-N1 | - | ✓ | - | ✓ | - | - |
FZ-T1 | - | - | - | ✓ | - | - |
FZ-L1 | - | - | - | - | - | - |
FZ-A3 | - | - | - | - | - | - |
Introduction
This section describes how to upgrade OS version (FZ-X1:from Android 4.2.2 to Android 5.1.1, FZ-N1:from Android 5.1.1 to Android 6.0.1, FZ-N1:from Android 8.1 to Android 9.0, FZ-T1:from Android 8.1 to Android 9.0) with using remote operation.
Any remote operation solution should have following capabilities.
- Check build number. (use android.os.Build.DISPLAY.)
- Check remaining battery power. (use ACTION_BATTERY_CHANGED intent.)
- Check connection to charger. (use ACTION_BATTERY_CHANGED intent.)
- Send any broadcast intent.
- Copy or move any files.
If the terminal is encrypted using password, a screen for password input appears when restarting the terminal after the rewriting process. You must input the decryption password. (Therefore, the encrypted terminal using password cannot be upgraded by only remote operation.)
Overview
This section describes the OS version up procedures for (A)FZ-X1 and (B)FZ-N1/FZ-T1, separately explained as different procedures.
(A)FZ-X1
OS version upgrade consists of two software update steps. Therefore, Android OS will be started once in the course of performing the OS version upgrade. (See the figure below.)
The administrator must operate twice, when the Android OS has been booted into the older version and the Processing version. And finally, the administrator must make sure that the Android OS has been booted into the Upgraded version.
(B)FZ-N1,FZ-T1
OS version upgrade is done by single software update. Operation is almost the same as software update without OS version upgrade.
Finally, the administrator must make sure that the Android OS has been booted into the Upgraded version.
Please note that the name of trigger intent is different from FZ-X1 (added "settingsupdate.").
com.panasonic.mobile.settingsupdate.intent.action.AUTO_START_OSV or
com.panasonic.mobile.settingsupdate.intent.action.START_OSV
Notice
- You can upgrade OS version while leaving data such as camera images, e-mails, and downloaded data registered to this device. However, the data may not be protected depending on the status of your unit.
- We recommend to back up your important data before upgarde OS.
- After performing a version upgrade, you cannot revert to a previous version of Android.
- Applications compatible with old OS versions may not work properly.
- Performing a version upgrade may reset some settings. Please configure them again.
- If the terminal is encrypted using password, a screen for password input appears when restarting the terminal after the rewriting process. You must input the decryption password. (Therefore, the encrypted terminal using password cannot be upgraded by only remote operation.)
Procedure
(A)FZ-X1
The administrator must operate following remote operation to upgrade OS version of FZ-X1 software.
[Advance preparation]
- Check the terminal is not encrypted using password.
- Connect the terminal to the charger.
- Back up the important data.
- As much as possible, disable apps that run automatically.
[Procedure of upgrading older version to Processing version]
- Check the build number of the terminal. (tcd_tough-10-300-xx-yyy-0zz)
(Information about the software version can be obtained from android.os.Build.DISPLAY. To see more information, please access to Android Developer's web site.) - Store the file for the OS version upgrade.
(Store to "/sdcard/Download/". The file name should not be changed.) - Check the remaining battery power of the terminal is more than 60%.
- Check the terminal is connected to
charger.
(Information about the charging state and the remaining battery power can be obtained by the intent of ACTION_BATTERY_CHANGED. To see more information, please access to Android Developer's web site.) - Send broadcast intent "com.panasonic.mobile.intent.action.AUTO_START_OSV".
- Wait until the terminal is restarted. (It may take about 10 minutes.)
- After rebooted, check the build number of the terminal. (tcd_tough-10-300-xx-yyy-9zz)
[Procedure of upgrading Processing version to Upgraded version]
- Check the build number of the terminal. (tcd_tough-10-300-xx-yyy-9zz)
- Check the remaining battery power of the terminal is more than 60%.
- Check the terminal is connected to
charger.
(Information about the charging state and the remaining battery power can be obtained by the intent of ACTION_BATTERY_CHANGED. To see more information, please access to Android Developer's web site.) - Send broadcast intent "com.panasonic.mobile.intent.action.RESTART_OSV".
- Wait until the terminal is restarted. (It may take about 5 minutes.)
- After rebooted, check the build number of the terminal. (tcd_tough-12-xx-yyy-0nn)
(B)FZ-N1,FZ-T1
The administrator must operate following remote operation to upgrade OS version of FZ-N1 and FZ-T1 software.
[Advance preparation]
- Check the terminal is not encrypted using password.
- Connect the terminal to the charger.
- Back up the important data.
- As much as possible, disable apps that run automatically.
[Procedure of upgrading older version to Upgraded version]
- Check the build number of the terminal. (12-xx-yyy-zzz or 15-xx-yyy-zzz)
(Information about the software version can be obtained from android.os.Build.DISPLAY. To see more information, please access to Android Developer's web site.) - Store the file for the OS version upgrade.
(Store to "/sdcard/Download/". The file name should not be changed.) - Check the remaining battery power of the terminal is more than 50%(This figure is different from FZ-X1).
- Check the terminal is connected to
charger.
(Information about the charging state and the remaining battery power can be obtained by the intent of ACTION_BATTERY_CHANGED. To see more information, please access to Android Developer's web site.) - Send broadcast intent
"com.panasonic.mobile.settingsupdate.intent.action.AUTO_START_OSV" or
"com.panasonic.mobile.settingsupdate.intent.action.START_OSV". - Wait until finish of the update and Android restarts. (It may take about 20 minutes.)
- Check the build number of the terminal. (13-xx-yyy-www or 16-xx-yyy-zzz)
Trouble shooting
[OS version upgrade does not succeed]
- If the terminal build number and the file for the OS
version upgrade does not match:
- Please use the correct combination of the file for the OS version upgrade.
- If the remaining battery power is less than required level
(60% for FZ-X1 and 50% for FZ-N1/T1):
- Please charge sufficiently. After that, please send the appropriate intent once again.
- If none of the above:
- Store again the file for the OS version upgrade and
send followin broadcast intent.
- "com.panasonic.mobile.intent.action.AUTO_START_OSV"(FZ-X1) or
- "com.panasonic.mobile.settingsupdate.intent.action.AUTO_START_OSV"(FZ-N1Android 5.1.1 to Android 6.0.1) or
"com.panasonic.mobile.settingsupdate.intent.action.START_OSV"(FZ-N1/T1 Android 8.1 to Android 9.0).
- Store again the file for the OS version upgrade and
send followin broadcast intent.
If it does not resolve the problem with those, it cannot recover in the remote operation.
KittingTool
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | - | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Intent SingleExtraData
Introduction
This section describes how to send one Intent command with plural Extra information. This command format is useful, when your MDM solution does not have capability to set plural Extra information.
Functions
Function prototype
This section describes how to send one Intent command with plural Extra information.
The definition of the intent is as follows.
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra(NAME, <intent-info>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_INTENT_ONEEXTRA
EXTRA_DATA:
Name: INTENT_INFO
Value: <intent-info> (Type String)
Intent-info contains following necessary informations. The syntax is as follows.
Intent-info Syntax
action@@<action>[@@category@@<category>][@@extraString@@<string name>@@<string value>[@@...]]
[@@extraInt@@<int name>@@<int value>[@@…]][@@extralong@@<int name>@@<int value>[@@…]]
Identity | Must/Optional | Note |
---|---|---|
action | Mandatory | |
category | Option | |
extraString | Option | Multiple setting possible |
extraInt | Option | Multiple setting possible |
extralong | Option | Multiple setting possible |
Sample source code
This Sample Source Code is set Wi-Fi to disable using "panasonic.intent.action.SET_MDM_SETTING" by one Extra information.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_INTENT_ONEEXTRA");
i.putExtra("INTENT_INFO","action@@panasonic.intent.action.SET_MDM_SETTING
@@extraString@@SETTING_KEY@@DEVICE_WIFI@@extraString@@SETTING_VALUE@@disable");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_INTENT_ONEEXTRA -es INENTE_INFO action@@panasonic.intent.action.SET_MDM_SETTING@@extraString@@SETTING_KEY@@@DEVICE_WIFI@@extraString@@SETTING_VALUE@@disable
Remote System Log save
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | ✓ | - | - | - | - |
FZ-N1 | - | - | ✓ | * | * | - |
FZ-T1 | - | - | - | * | * | - |
FZ-L1 | - | - | - | * | - | - |
FZ-A3 | - | - | - | - | * | - |
Introduction
This section describes how to start/stop saving system log by remote operation.
Functions
Function 1
Intent to start saving system log.
Parameters 1
ACTION: com.panasonic.psn.android.app.diag.GET_LOG
Category: android.intent.category.DEFAULT
Extra data:
Key:REQUEST_TYPE Value: START(String type)
Sample source code 1
This Sample Source Code is for sending intent to start saving system log.Intent intent = new Intent();
intent.setAction("com.panasonic.psn.android.app.diag.GET_LOG");
intent.setCategory(Intent.CATEGORY_DEFAULT);
intent.putExtra( "REQUEST_TYPE", "START");
getBaseContext().sendBroadcast(intent);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a com.panasonic.psn.android.app.diag.GET_LOG -c Intent.CATEGORY_DEFAULT --es REQUEST_TYPE START
Function 2
Intent to stop saving system log.
Parameters 2
ACTION: com.panasonic.psn.android.app.diag.GET_LOG
Category: android.intent.category.DEFAULT
Extra data:
Key:REQUEST_TYPE Value: STOP(String type)
Sample source code 2
This Sample Source Code is for sending intent to stop saving system log.Intent intent = new Intent();
intent.setAction("com.panasonic.psn.android.app.diag.GET_LOG");
intent.setCategory(Intent.CATEGORY_DEFAULT);
intent.putExtra("REQUEST_TYPE", "STOP");
getBaseContext().sendBroadcast(intent);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a com.panasonic.psn.android.app.diag.GET_LOG -c Intent.CATEGORY_DEFAULT --es REQUEST_TYPE STOP
Function 3
Intent to get the result of saved log data
Parameters 3
ACTION: com.panasonic.psn.android.app.diag.SAVED_LOG_FILE_RESULT
Category: android.intent.category.DEFAULT
Extra data:
Key: SAVE_RESULT Value: True/False (Success to save:True / Fail to save:False)
Key: SAVED_LOG_FILE Value: File name and path(String type)
*Saved File path and name: sdcard/SystemLogs/yyyy.MM.dd_hh.mm.ss.log
Sample source code 3
This Sample Source Code is receiving intent to get the result of saving log data.Intent intent = getIntent();
Boolean result = intent.getBooleanExtra("SAVE_RESULT");
String logfile = intent.getStringExtra("SAVED_LOG_FILE");
Remarks 3
- Need to add BroadcastReciever in your Application to receive the result to get log data
- SAVED_LOG_FILE is Null in case of log saving failure.
BatteryHealthCheck
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓(*) | - |
・Get information:"remaining" for Battery
・Get information:Battery2
Introduction
This section describes the Intent API specifications for battery health check of Target device, for the user to develop an application which need to get battery health check information.
Battery Health Check
Target Device has the function of getting following Information about "Battery Health Check".
- Serial Number of Battery Pack(*1)
- Information printed on the battery pack ex.) "YLB00299"
- Production Date of Battery Pack
- yyyy/mm/dd
- Battery Health
- xx [%]
( = actual full charge capacity of the used battery / full charge capacity of a new battery)
- xx [%]
- Charge Cycle Count of Battery
- n ( [times] )
- Remaining Battery(*2)
- xx [%]
- Serial Number of Battery2(*2) Pack
- Information printed on the battery pack ex.) "YLB00299"
- Production Date of Battery2(*2) Pack
- yyyy/mm/dd
- Battery2(*2) Health
- xx [%]
( = actual full charge capacity of the used battery / full charge capacity of a new battery)
- xx [%]
- Charge Cycle Count of Battery2(*2)
- n ( [times] )
- Remaining Battery2(*2)
- xx [%]
(*1) Serial Number may not be obtained correctory on FZ-T1/L1 depending on battery pack.
(*2) Supported only FZ-A3
Above information can be obtained by a custom application which implements the API described in this document.
Intent API specification
Function prototype
Application can get Battery Health Check information by the following 2 steps:
- Send "Execute" broadcast Intent
- Receive "Response" broadcast Intent
// 1. Send "Execute" broadcast Intent
Intent i = new Intent();
i.setAction(EXECUTE_ACTION);
sendBroadcast(i);
// 2. Receive "Response" broadcast Intent
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String <serial> = intent.getStringExtra(EXTRA_DATA_SERIAL);
String <date> = intent.getStringExtra(EXTRA_DATA_PRODUCT_DATE);
int <health> = intent.getIntExtra(EXTRA_DATA_HEALTH, 0);
int <count> = intent.getIntExtra(EXTRA_DATA_COUNT, 0);
//FZ-A3 Only from here
int <remaining> = intent.getIntExtra(EXTRA_DATA_REMAINING, 0);
String <serial_2> = intent.getStringExtra(EXTRA_DATA_SERIAL_2);
String <date_2> = intent.getStringExtra(EXTRA_DATA_PRODUCT_DATE_2);
int <health_2> = intent.getIntExtra(EXTRA_DATA_HEALTH_2, 0);
int <count_2> = intent.getIntExtra(EXTRA_DATA_COUNT_2, 0);
int <remaining_2> = intent.getIntExtra(EXTRA_DATA_REMAINING_2, 0);
}
};
IntentFilter filter = new IntentFilter();
filter.addAction(RESPONSE_ACTION);
registerReceiver(receiver, filter);
Parameters
Name | Type | Value |
---|---|---|
EXECUTE_ACTION | String | "com.panasonic.psn.batteryhealthcheck.api.EXECUTE" |
RESPONSE_ACTION | String | "com.panasonic.psn.batteryhealthcheck.api.RESPONSE" |
EXTRA_DATA_SERIAL | String | "serial" for Serial Number of Battery Pack |
EXTRA_DATA_PRODUCT_DATE | String | "product_date" for Production Date of Battery Pack |
EXTRA_DATA_HEALTH | String | "health" for Battery Health |
EXTRA_DATA_COUNT | String | "count" for Charge Cycle Count |
EXTRA_DATA_REMAINING | String | "remaining" for Battery (FZ-A3 only) |
<serial> | String | Serial Number of Battery Pack |
<date> | String | Production Date of Battery Pack |
<health> | int | Battery Health |
<count> | int | Charge Cycle Count |
<remaining> | int | Battery Remaining (FZ-A3 Only) |
FZ-A3 only from here | ||
EXTRA_DATA_SERIAL_2 | String | "serial" for Serial Number of Battery2 Pack |
EXTRA_DATA_PRODUCT_DATE_2 | String | "product_date" for Production Date of Battery2 Pack |
EXTRA_DATA_HEALTH_2 | String | "health" for Battery2 Health |
EXTRA_DATA_COUNT_2 | String | "count" for Charge Cycle Count of Battery2 |
EXTRA_DATA_REMAINING_2 | String | "remaining" for Battery2 |
<serial_2> | String | Serial Number of Battery2 Pack |
<date_2> | String | Production Date of Battery2 Pack |
<health_2> | int | Battery2 Health |
<count_2> | int | Charge Cycle Count of Battery2 Pack |
<remaining_2> | int | Battery2 Remaining |
Sample source code
This sample source code shows to get Battery HealthCheck information.// Prepare for receiving "Response" broadcast Intent
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("com.panasonic.psn.batteryhealthcheck.api.RESPONSE)) {
// Extract data from received Intent
// Serial Number of Battery Pack
String serial = intent.getStringExtra("serial");
// Production Date of Battery Pack
String product_date = intent.getStringExtra("product_date");
// Battery Health
int health = intent.getStringExtra("health", 0);
// Charge Cycle Count
int count = intent.getStringExtra("count", 0);
//FZ-A3 Only from here
// Battery Remaining
int remaining = intent.getStringExtra("remaining", 0);
// Serial Number of Battery2 Pack
String serial2 = intent.getStringExtra("serial2");
// Production Date of Battery2 Pack
String product_date2 = intent.getStringExtra("product_date2");
// Battery2 Health
int health2 = intent.getStringExtra("health2", 0);
// Battery2 Charge Cycle Count
int count2 = intent.getStringExtra("count2", 0);
// Battery2 Remaining
int count2 = intent.getStringExtra("remaining2", 0);
}
}
};
IntentFilter filter = new IntentFilter();
filter.addAction("com.panasonic.psn.batteryhealthcheck.api.RESPONSE");
registerReceiver(receiver, filter);
// Send "Execute" broadcast Intent after prior preparation
Intent i = new Intent();
i.setAction("com.panasonic.psn.batteryhealthcheck.api.EXECUTE");
sendBroadcast(i);
Activity Service AutoLauncher
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that automatically launches Activity and Service when the system starts up.
This function can register up to 10 Activities or Services to the System Property, so that those Activites/Services can be automatically launched at start-up. (In actuality, the character strings registered to the System Properties are passed to java.lang.Runtime.getRuntime().exec().)
Functions
Function prototype
Define the following 10 Keys as System Property.
System Property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.launch1 | String | Command line string to launch Activity and Service | "not_set" means unregistered. |
persist.sys.launch2 | |||
persist.sys.launch3 | |||
persist.sys.launch4 | |||
persist.sys.launch5 | |||
persist.sys.launch6 | |||
persist.sys.launch7 | |||
persist.sys.launch8 | |||
persist.sys.launch9 | |||
persist.sys.launch10 |
By setting command line string to these System Properties, Activities and/or Services indicated the command line string will be automatically launched at system start-up.
All valid packages are launched.
The default value for these System Properties is all "not_set".
As shown below, System Properties can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value>(Type String) (Up to 91 characters)
Table 1 Intent key correspondence table
intent-key | system property Value | Description |
---|---|---|
LAUNCH1 | Command line string("not_set" means unregistered) | Command line string to launch automatically at start-up system.(1-10) |
LAUNCH2 | ||
LAUNCH3 | ||
LAUNCH4 | ||
LAUNCH5 | ||
LAUNCH6 | ||
LAUNCH7 | ||
LAUNCH8 | ||
LAUNCH9 | ||
LAUNCH10 |
Sample source code
For example, this sample source code shows that the preview screen (CameraActivity) of the pre-installed camera application (com.android.camera2) is displayed when the device starts up. (Commnd line string : "am start -n com.android.camera2/com.android.camera.CameraActivity")// On a component that inherits Context, such as Activity
// [Register] (For exmaple) The preview screen (CameraActivity) of the pre-installed camera application (com.android.camera2) is displayed when the device is launched.
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("SYS_PROP_KEY", "LAUNCH1");
i.putExtra("SYS_PROP_VALUE", "am\ start\ -n\ com.android.camera2/com.android.camera.CameraActivity");
sendBroadcast(i);
// [Unregister]
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("SYS_PROP_KEY", "LAUNCH1");
i.putExtra("SYS_PROP_VALUE", "not_set");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --include-stopped-packages --es SYS_PROP_KEY LAUNCH1 --es SYS_PROP_VALUE "am\ start\ -n\ com.android.camera2/com.android.camera.CameraActivity"
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --include-stopped-packages --es SYS_PROP_KEY LAUNCH1 --es SYS_PROP_VALUE not_set
Remarks
- The value of the system property can be set and changed directly by the application which has the platform signature using the Android Framework API. The following is a modification example.
- Package name:android.os
- Class name:SystemProperties
- Method name:public static void set(String key, String value);
Example)
SystemProperties.set("persist.sys.launch1","am start -n com.android.camera2/com.android.camera.CameraActivity");
SystemProperties.set("persist.sys.launch1","not_set");
Disable Wi-Fi Bluetooth MultiUserButton in QuickSetting
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | - | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that Wi-Fi connected device list , Bluetooth connected device list and Multi user button when displayed after swipe down the Notification can be disabled.
The device has flags for each setting, and Wi-Fi connected device list, Bluetooth connected device list or Multi user button are disabled when the corresponding flags are set to the value of disable.
Functions
Function prototype
Application can enable / disable the following 3 functions by using the Intent API.
- the Wi-Fi connected device list in Quick Setting
- the Bluetooth connected device list in Quick Setting
- Multiuser button in Quick Setting
When the setting is changed, setting changes are applied without restarting the terminal.
When each setting to be disabled, each button is hidden when the navigation bar is re-displayed by user operation.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES
EXTRA_DATA:
Name: SYS_PROP_KEY
Value:<intent-key>(Type String)
Name: SYS_PROP_VALUE
Value:<setting-value>(Type String)
intent-key | System Property | Description |
---|---|---|
WIFI_QS_SETTING | 0:enable 1:disable |
Enable / disable the Wi-Fi connected device list in Quick Setting. |
BT_QS_SETTING | 0:enable 1:disable |
Enable / disable the Bluetooth connected device list in Quick Setting. |
MULTI_USER_QS_SETTING | 0:disable 1:enable |
Enable / disable the Multi user button in Quick Setting. |
Sample source code
For example, this sample source code shows that each settings is set to disable.// On a component that inherits Context, such as Activity
// Disable Wi-Fi QS Setting
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("SYS_PROP_KEY", "WIFI_QS_SETTING");
i.putExtra("SYS_PROP_VALUE", "1");
sendBroadcast(i);
// Disable BlueTooth QS Setting
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("SYS_PROP_KEY", "BT_QS_SETTING");
i.putExtra("SYS_PROP_VALUE", "1");
sendBroadcast(i);
// Disable Multi User QS Setting
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("SYS_PROP_KEY", "MULTI_USER_QS_SETTING");
i.putExtra("SYS_PROP_VALUE", "0");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
//Disable Wi-Fi QS Setting
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --include-stopped-packages --es SYS_PROP_KEY WIFI_QS_SETTING --es SYS_PROP_VALUE 1
//Disable BlueTooth QS Setting
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --include-stopped-packages --es SYS_PROP_KEY BT_QS_SETTING --es SYS_PROP_VALUE 1
//Disable Multi User QS Setting
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --include-stopped-packages --es SYS_PROP_KEY MULTI_USER_QS_SETTING --es SYS_PROP_VALUE 0
Install Package Whitelist Blacklist
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that restricts by Whitelist and Blacklist about installing applications to the terminal using MDM function.
At any given time, only Whitelist or Blacklist can be used. If Whitelist is being used, only applications registered to the Whitelist can be installed. When using the Blacklist, only applications that aren't registered can be installed.
By adding or deleting the package name to or from the Whitelist/Blacklist, the system allows or rejects installation of the packages.
Functions
Function prototype
Only one of Whitelist / Blacklist can be valid. (They will not be valid at the same time.)
If Whitelist is valid, only applications registered in Whitelist can be installed.
On the other hand, if Blacklist is valid, applications other than those registered in Blacklist can be installed.
The Whitelist/Blacklist setting can be set and changed by Intent.
You can add or delete packages to Whitelist/Blacklist in the following two ways.
[Case 1]
Individual package registration in the list can be add/delete/delete_all one by one operation.
Then, if either Whitelist / Blacklist is set to enable (true) from disable (false), the other is disabled (false).
And also, if either Whitelist / Blacklist is set to disable (false) from enable (true), the other remains disabled (false).
Intent i = new Intent();
i.setAction(ACTION);
i.addCategory(Intent.CATEGORY_DEFAULT);
Bundle b = new Bundle();
b.putString("ENABLED", <enabled>);
b.putString("BEHAVIOR", <behavior>);
b.putString("PACKAGE_NAME", <package-name>);
i.putExtras(b);
sendBroadcast(i);
[Case 2]
The list containing multiple packages can be created/removed at once.
When following are executed, all the package names stored in the list are updated at once.
Then, if either Whitelist / Blacklist is set to enable (true), the other is disabled (false).
And also, if either Whitelist / Blacklist is set to disable (false), the other remains disabled (false).
Intent i = new Intent();
i.setAction(ACTION);
i.addCategory(Intent.CATEGORY_DEFAULT);
Bundle b = new Bundle();
b.putString("ENABLED",<enabled>);
b.putStringArray("PACKAGE_NAME",<package-name-list>);
i.putExtras(b);
sendBroadcast(i);
Parameters
[Case 1]
ACTION: com.panasonic.psn.android.app.kittingtool2.intent.action.WHITELISTING_SETTING
com.panasonic.psn.android.app.kittingtool2.intent.action.BLACKLISTING_SETTING
EXTRA_DATA:
Name: ENABLED
Value:<enabled>(Type String) ("true" or "false")
Name: BEHAVIOR
Value:<behavior>(Type String) ("ADD" or "DELETE" or"DELETE_ALL")
Name: PACKAGE_NAME
Value:<package-name>(Type String) (Up to 256 characters)
[Case2]
ACTION: com.panasonic.psn.android.app.kittingtool2.intent.action.WHITELISTING_SETTING
com.panasonic.psn.android.app.kittingtool2.intent.action.BLACKLISTING_SETTING
EXTRA_DATA:
Name: ENABLED
Value:<enabled>(Type String) ("true" or "false")
Name: PACKAGE_NAME
Value:<package-name-list>(Type String Array) (Up to 256 characters and 100 elements)
Sample source code
[Case 1]Individual package registration in the list can be add/delete/delete_all one by one operation.
For example, this sample source code shows how to register a package (package.name.black) in the BlackList.
// com.panasonic.psn.android.app.kittingtool2.intent.action.BLACKLISTING_SETTING
// ENABLED : true
// BEHAVIOR : ADD
// PACKAGE_NAME : package.name.black
// On a component that inherits Context, such as Activity
String package ="package.name.black";
Intent i = new Intent();
i.setAction("com.panasonic.psn.android.app.kittingtool2.intent.action.BLACKLISTING_SETTING");
i.addCategory(Intent.CATEGORY_DEFAULT);
Bundle b = new Bundle();
b.putString("ENABLED", "true");
b.putString("BEHAVIOR", "ADD");
b.putString("PACKAGE_NAME", package);
i.putExtras(b);
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a com.panasonic.psn.android.app.kittingtool2.intent.action.BLACKLISTING_SETTING -c android.intent.category.DEFAULT --es ENABLED true --es BEHAVIOR ADD --es PACKAGE_NAME package.name.black
[Case 2]
The list containing multiple packages can be created/removed at once.
For example, this sample source code shows how to create a package list (package.name.black.1, package.name.black.2) in the BlackList.
// com.panasonic.psn.android.app.kittingtool2.intent.action.BLACKLISTING_SETTING
// ENABLED : true
// PACKAGE_NAME : package.name.black.1, package.name.black.2
// On a component that inherits Context, such as Activity
String[] packageList = new String[2];
packageList[0] = "package.name.black.1";
packageList[1] = "package.name.black.2";
Intent i = new Intent();
i.setAction("com.panasonic.psn.android.app.kittingtool2.intent.action.BLACKLISTING_SETTING");
i.addCategory(Intent.CATEGORY_DEFAULT);
Bundle b = new Bundle();
b.putString("ENABLED", "true");
b.putStringArray("PACKAGE_NAME", packageList);
i.putExtras(b);
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a com.panasonic.psn.android.app.kittingtool2.intent.action.BLACKLISTING_SETTING -c android.intent.category.DEFAULT --es ENABLED true --esa PACKAGE_NAME package.name.black.2,package.name.black.1
Disable Screen Capture by hardware key
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature to disable screenshot function. (Simultaneous press of Power button and volume down button) This model has a flag, and the screenshot function is disabled when this flag is set to "false".
Functions
Function prototype
Define the following Key as System Property.
System Property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.screen_shot | true/false | Enable / disable the screenshot function. | true: enable false: disable |
Changing the value of the System Property can control enabling/disabling screenshot function.
When the System Property is changed, the changes will take effec without restarting the terminal.
As shown below, system properties can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value> (Type String)
intent-key | System Property | Value Description |
---|---|---|
SCREEN_SHOT | true: enable false: disable |
Enable / disable the screenshotfunction. |
Sample source code
For example, this sample source code shows how to disable the screenshot function.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("SYS_PROP_KEY", "SCREEN_SHOT");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --include-stopped-packages --es SYS_PROP_KEY SCREEN_SHOT --es SYS_PROP_VALUE false
Remarks
- The value of the system property can be set and changed directly by the application which has the platform signature using the Android Framework API. The following is a modification example.
- Package name:android.os
- Class name:SystemProperties
- Method name:public static void set(String key, String value);
Example)
SystemProperties.set("persist.sys.screen_shot","false");
Disable shortcut of touch operation mode setting on Global Action Menu
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | ✓ | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | - | - | - |
FZ-T1 | - | - | - | - | - | - |
FZ-L1 | - | - | - | - | - | - |
FZ-A3 | - | - | - | - | - | - |
Introduction
This section describes the feature that the shortcut of touch operation mode setting (">" on Global Action Menu) to be disabled.
This feature is useful if the path to the Settings application need to be closed.
Functions
Function prototype
Application can disable the shortcut of touch operation mode setting(">" on Global Action Menu) by using the Intent API.system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.tos_global_action | true/false | The shortcut of the touch operation mode setting menu can be enabled/disabled. | true: enable false:disable |
Chainging the value of the system property can control enabling/disabling the shortcut of the touch operation mode setting menu.
When the system property is changed, setting changes are applied without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key>(Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value>(Type String)
intent-key | system-property-value | Description |
---|---|---|
TOS_GLOBAL_ACTION | true:enabled false:disabled |
The shortcut of touch operation mode setting can be enabled / disabled. |
Sample source code
This Sample Source Code shows how to disable the shortcut of touch operation mode setting.// On a component that inherits context, such as Activity, you can enable the shortcut of
touch operation mode.
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("SYS_PROP_KEY", "TOS_GLOBAL_ACTION");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --include-stopped-packages --es SYS_PROP_KEY TOS_GLOBAL_ACTION SYS_PROP_VALUE false
Disable SystemUI QuickSetting
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to enable/disable Quick Setting which is displayed by swipe down operation on the Status bar. The Quick Setting can be enabled/disabled by configuring the quick setting flag.
Functions
Function prototype
Define the following Key as the System Property.
System Property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.quick_setting | true/false | Enable / disable the Quick Setting. | true: enable false: disable |
Changing the value of the System Property can control enabling/disabling the Quick Setting.
When the System Property is changed, setting changes are applied without restarting the terminal.
As shown below, the System Property can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value> (Type String)
intent-key | System Property Value | Description |
---|---|---|
QUICK_SETTING | true: enable false: disable |
Enable / disable the Quick Setting. |
Sample source code
For example, this sample source code shows how to disable the Quick Setting.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("SYS_PROP_KEY", "QUICK_SETTING");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --include-stopped-packages --es SYS_PROP_KEY QUICK_SETTING --es SYS_PROP_VALUE false
Remarks
- The value of the system property can be set and changed directly by the application which has the platform signature using the Android Framework API. The following is a modification example.
- Package name:android.os
- Class name:SystemProperties
- Method name:public static void set(String key, String value);
Example)
SystemProperties.set("persist.sys.quick_setting","false");
Disable Notification Shortcut
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to disable the Shortcut operation from the Notification, that is displayed when swiping down on the status bar.
Functions
Function prototype
Define the following Key as System Property.
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.notif_shortcut | true/false | Enable / disable the shortcut operation from the Notification. | true:enable false:disable |
Changing the value of the System Property can control enabling/disabling the shortcut operation from the Notification.
When the System Property is changed, the changs will take effect without restarting the terminal.
As shown below, System Property can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value> (Type String)
intent-key | System Property Value | Description |
---|---|---|
NOTIFICATION_SHORTCUT | true: enable false: disable |
Enable / disable the shortcut operation from the Notification. |
Sample source code
For example, this sample source code shows how to disable the shortcut operation from the Notification.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("SYS_PROP_KEY", "NOTIFICATION_SHORTCUT");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --include-stopped-packages --es SYS_PROP_KEY NOTIFICATION_SHORTCUT --es SYS_PROP_VALUE false
Remarks
- The value of the System Property can be set and changed directly by the application which has the platform signature using the Android Framework API. The following is a modification example.
- Package name:android.os
- Class name:SystemProperties
- Method name:public static void set(String key, String value);
Example)
SystemProperties.set("persist.sys.notif_shortcut","false");
Disable HOME,BACK,RECENT button in Naviagtinon Bar
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that HOME/BACK/RECENT
button in navigation bar to be disabled. This model has
flags for each button, and each button can be disabled
when the corresponding flag is set to "false".
The HOME button or BACK button
assigned as a hard key will not affected by this function.
Functions
Function prototype
Define the following three Keys as system property.
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.homebutton | true/false | Enable / disable HOME button | true:Home button enable false:Home button disable |
persist.sys.backbutton | true/false | Enable / disable BACK button | true:Back button enable false:Back button disable |
persist.sys.recentbutton | true/false | Enable / disable RECENT button | true:Recent button enable false:Recent button disable |
Changing the value of the system property can control
enabling/disabling each button.
When the system property is changed, setting changes are applied
without restarting the terminal.
Also, after changing the system property of each button to false, the
button will be hidden when the navigation bar is redrawn, such
as restarting the terminal or resuming from the sleep mode.
As shown below, system properties can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value> (Type String)
intent-key | system property Value | Description |
---|---|---|
HOME_BUTTON | true:enable false:disable |
Enable/ disable HOME button |
BACK_BUTTON | true:enable false:disable |
Enable/ disable BACK button |
RECENT_BUTTON | true:enable false:disable |
Enable/ disable RECENT button |
Sample source code
For example, this sample source code shows how to disable the HOME/BACK/RECENT in navigation bar.// On a component that inherits Context, such as Activity
// in case of disabling HOME button.
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("SYS_PROP_KEY", "HOME_BUTTON");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
// in case of disabling BACK button.
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("SYS_PROP_KEY", "BACK_BUTTON");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
// in case of disabling RECENT button.
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("SYS_PROP_KEY", "RECENT_BUTTON");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
//Disable Home button
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --include-stopped-packages --es SYS_PROP_KEY HOME_BUTTON --es SYS_PROP_VALUE false
//Disable BACK button
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --include-stopped-packages --es SYS_PROP_KEY BACK_BUTTON --es SYS_PROP_VALUE false
//Disable RECENT button
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --include-stopped-packages --es SYS_PROP_KEY RECENT_BUTTON --es SYS_PROP_VALUE false
Remarks
- If you do not add system properties, the behavior is the same as setting "true" for the property.
- The value of the System Property can be set and changed directly by the application which has the platform signature using the Android Framework API. The following is a modification example.
- Package name:android.os
- Class name:SystemProperties
- Method name:public static void set(String key, String value);
Example)
// in case of disabling HOME button.
SystemProperties.set(persist.sys.homebutton,"false");
// in case of disabling BACK button.
SystemProperties.set(persist.sys.backbutton,"false");
// in case of disabling RECENT button.
SystemProperties.set(persist.sys.recentbutton,"false");
Disable Statusbar pull down
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that Statusbar pull down operation to be disabled. This model supporting this feature has a flag, and Statusbar pull down operation is disabled when this flag is set to "false".
Functions
Function prototype
Define the following Key as system property.
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.statusbarpulldown | true/false | Enable / disable the pull-down operation of the status bar. | true: enable false: disable |
Changing the value of the system property can control enabling/disabling the pull-down operation of the status bar.
When the system property is changed, setting changes are applied without restarting the terminal.
As shown below, system properties can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value>(Type String)
intent-key | system property Value | Description |
---|---|---|
STATUSBAR_PULLDOWN | true:enable false:disable |
Enable / disable the pull-down operation of the status bar. |
Sample source code
For example, this sample source code shows how to disable the statusbar pull-down operation.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.putExtra("SYS_PROP_KEY", "STATUSBAR_PULLDOWN");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --es SYS_PROP_KEY STATUSBAR_PULLDOWN --es SYS_PROP_VALUE false
Remarks
- If you do not add system properties, the behavior is the same as setting "true" for the property.
- The value of the system property can be set and changed directly by using the Android Framework API for the application to which the platform signature is attached. See below for modification examples.
Example)
SystemProperties.set(persist.sys.statusbarpulldown,"false");
Disable Power off in Global Action menu
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | ✓ | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that "Power off" in Global Action menu to be disabled. This model has a flag, and "Power off" in Global Action menu is disabled when this flag is set to "false".
Functions
Function prototype
Define the following Key as system property.
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.powerbutton | true/false | Enable / disable power off button. | true: enable false: disable |
Changing the value of the system property can control enabling/disabling "Power off" in Global Action menu.
When the system property is changed, setting changes are applied without restarting the terminal.
As shown below, system properties can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value>(Type String)
intent-key | system property Value | Description |
---|---|---|
POWER_BUTTON | true:enable false:disable |
Enable / disable power off button. |
Sample source code
For example, this sample source code shows how to disable the "Power off" in Global Action menu.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.putExtra("SYS_PROP_KEY", "POWER_BUTTON");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --es SYS_PROP_KEY POWER_BUTTON --es SYS_PROP_VALUE false
Remarks
- If you do not add system properties, the behavior is the same as setting "true" for the property.
- The value of the system property can be set and changed directly by using the Android Framework API for the application to which the platform signature is attached. See below for modification examples.
Example)
SystemProperties.set(persist.sys.powerbutton,"false");
Disable Volume button
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | ✓ | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that Volume button to be disabled. The terminal has a flag, and Volume button is disabled when this flag is set to false.
Functions
Function prototype
Define the following Key as system property.
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.volumebutton | true/false | Enable / disable Volume button. | true: enable false: disable |
Changing the value of the system property can control enabling/disabling the Volume button.
When the system property is changed, setting changes are applied without restarting the terminal.
As shown below, system properties can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value>(Type String)
intent-key | system property Value | Description |
VOLUME_BUTTON | true:enable false:disable |
Enable / disable Volume button. |
Sample source code
This Sample source code shows how to disable Volume button from an application.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.putExtra("SYS_PROP_KEY", "VOLUME_BUTTON");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --es SYS_PROP_KEY VOLUME_BUTTON --es SYS_PROP_VALUE false
Remarks
- If you do not add system properties, the behavior is the same as setting "true" for the property.
- The value of the system property can be set and changed directly by using the Android Framework API for the application to which the platform signature is attached. See below for modification examples.
Example)
SystemProperties.set(persist.sys.volumebutton,"false");
Disable Press camera button to launch camera
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature to disable launching camera when camera button is pressed and held down. The model supporting this feature has a flag, and launching camera by camera button pressed and held down is disabled when this flag is set to "false".
Functions
Function prototype
Define the following Key as system property.
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.camerabutton | true/false | Enable / disable lunch camera application when camera button is pressed and held down. | true: enable(default) false: disable |
Changing the value of the system property can control enabling/disabling lunching camera application when camera button is pressed and held down.
When the system property is changed, setting changes are applied without restarting the terminal.
As shown below, system properties can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value>(Type String)
intent-key | system property Value | Description |
CAMERA_BUTTON | true:enable false:disable |
Enable / disable Camera button long press operation. |
Sample source code
For example, this sample source code shows how to disable to lunch the camera application when camera button is pressed and held down.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.putExtra("SYS_PROP_KEY", " CAMERA_BUTTON");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --es SYS_PROP_KEY CAMERA_BUTTON --es SYS_PROP_VALUE false
Remarks
- The value of the system property can be set and changed directly by using the Android Framework API for the application to which the platform signature is attached. See below for modification examples.
Package Name: android.os
Class Name: SystemProperties
Method Name: public static void set(String key, String value);
Example)
SystemProperties.set(persist.sys.camerabutton, "false");
Wi-Fi AP background scan
- Introduction
- Intent API Specification
- API Specification for Wi-Fi disabled/enabled
- How to check intent update result
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | ✓(*) | ✓ | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the intent API specifications for background scan settings (mode and interval) of Wi-Fi access points
while the LCD is off and Wi-Fi is out-of-service.
This section is for users who want to create an app that can change the settings of Wi-Fi access point background scan.
Intent API specification
API of "Background scan settings of Wi-Fi access point" provides the following two functions.
- Background scan mode (Enabled/Disabled) of Wi-Fi access point. (*)
- Definition of background scan interval of Wi-Fi access point.
*FZ-X1/Android 4.2.2 does not support this function. Background scan of Wi-Fi access points is always enabled for this model.
Apps can control background scan of Wi-Fi access points by broadcast intent. This section describes the specifications and sample code for each API.
Background scan mode of Wi-Fi access point
The API for background scan mode of Wi-Fi access points allows you to change the background scan mode (enabled/disabled) by app.
Function prototype
int IsDisabled = 0 [ or 1];
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra(EXTRA_DATA, IsDisabled);
Parameters
Name | Type | Value |
---|---|---|
ACTION | String | "com.panasonic.toughpad.android.wifi.api.ACTION_BACKGROUNDSCAN" |
EXTRA_DATA | String | "com.panasonic.toughpad.android.wifi.api.BACKGROUNDSCAN_DISABLE" |
IsDisabled | int | 0 to enable background scan of Wi-Fi access point 1 to disable background scan of Wi-Fi access point (default) |
Sample source code
This sample source code shows how to enable/disable background scan of Wi-Fi access points.Intent i = new Intent();
// Enable background scan of Wi-Fi access point
int IsDisabled = 0;
i.setAction("com.panasonic.toughpad.android.wifi.api.ACTION_BACKGROUNDSCAN");
i.putExtra("com.panasonic.toughpad.android.wifi.api.BACKGROUNDSCAN_DISABLE", IsDisabled);
sendBroadcast(i);
// Disable background scan of Wi-Fi access point
int IsDisabled = 1;
i.setAction("com.panasonic.toughpad.android.wifi.api.ACTION_BACKGROUNDSCAN");
i.putExtra("com.panasonic.toughpad.android.wifi.api.BACKGROUNDSCAN_DISABLE", IsDisabled);
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
//Enable background scan of Wi-Fi access point
adb shell am broadcast -a com.panasonic.toughpad.android.wifi.api.ACTION_BACKGROUNDSCAN --ei com.panasonic.toughpad.android.wifi.api.BACKGROUNDSCAN_DISABLE 0
//Disable background scan of Wi-Fi access point
adb shell am broadcast -a com.panasonic.toughpad.android.wifi.api.ACTION_BACKGROUNDSCAN --ei com.panasonic.toughpad.android.wifi.api.BACKGROUNDSCAN_DISABLE 1
Conditions for value updated by intent to take effect
The value specified by this intent will be enabled when:
The value specified by this intent is initialized only after factory reset. It is maintained after the following operations, power ON with Wi-Fi disabled setting or firmware update over-the-air.
Background scan interval of Wi-Fi access point (all Android versions)
The API for background scan interval of Wi-Fi access points allows you to change the background scan interval by app.
Function prototype
long Interval = [value];
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra(EXTRA_DATA, Interval);
Parameters
Name | Type | Value |
ACTION | String | "com.panasonic.toughpad.android.wifi.api.ACTION_WIFISCANSETTING" |
---|---|---|
EXTRA_DATA | String | "com.panasonic.toughpad.android.wifi.api.EXTRA_SCANINTERVALTIME" |
Interval | long | [Interval] NOTE: Unit is in msec. The default value is 300,000 (msec). |
Sample source code
This sample source code shows how to set the background scan interval of Wi-Fi access points.Intent i = new Intent();
// Set 15 sec (15,000 msec) to background scan interval of Wi-Fi access point
long Interval = 15000;
i.setAction("com.panasonic.toughpad.android.wifi.api.ACTION_WIFISCANSETTING");
i.putExtra("com.panasonic.toughpad.android.wifi.api.EXTRA_SCANINTERVALTIME", Interval);
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a com.panasonic.toughpad.android.wifi.api.ACTION_WIFISCANSETTING --el com.panasonic.toughpad.android.wifi.api.EXTRA_SCANINTERVALTIME 15000
Conditions for value updated by intent to take effect
The value specified by this intent will be enabled when:
- Wi-Fi state is changed from Disabled to Enabled, or
- Power ON the device (boot up) with Wi-Fi enabled setting, or
- Device moves from "out of Wi-Fi range" to "in range".
The value specified by this intent is initialized only after factory reset. It is maintained after the following operations, power ON with Wi-Fi disabled setting or firmware update over-the-air.
API specification for disabling/enabling Wi-Fi
This section describes Android Wi-Fi APIs (android.net.wifi) to disable and enable Wi-Fi because the data updated by the intent of Wi-Fi access point background scan settings is used after disabling/enabling Wi-Fi.
APIs android.net.wifi
public class WifiManager
public method setWifiEnabled
Refer to the following URL in the Android Developer website:
https://developer.android.com/reference/android/net/wifi/WifiManager.html
setWifiEnabled
boolean setWifiEnabled (boolean enabled)
Enable or disable Wi-Fi.
Parameters | |
---|---|
enabled | boolean: true to enable, false to disable. |
Returns | |
---|---|
boolean | true if the operation succeeds (or if the existing state is the same as the requested state). |
Sample source code
The following sample code is for an app (apk) to enable and disable Wi-Fi on the UI. The text in green is related to WifiManager.
package com.panasonic.mobile.wifitester;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.net.wifi.WifiManager;
public class WifiManagerMainActivity extends Activity {
Button btn;
WifiManager wifi;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button)findViewById(R.id.wifi_on_off);
wifi = (WifiManager)getSystemService(WIFI_SERVICE);
if(wifi.isWifiEnabled()) {
btn.setText(R.string.on_label);
}
else {
btn.setText(R.string.off_label);
}
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (!wifi.isWifiEnabled()) {
wifi.setWifiEnabled(true);
btn.setText(R.string.on_label);
}
else{
wifi.setWifiEnabled(false);
btn.setText(R.string.off_label);
}
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
}
}
Checking the results of an intent update
Background scan settings of Wi-Fi access points are stored in "//settings/global" of Android ContentProvider.
To check if the contents of "//settings/global" are correctly updated, send the following adb command to terminal.
C:\> adb shell content query --uri content://settings/global
After updating the background scan settings by the intent, the following background scan settings are displayed.
Row: xx _id=yy, name=wifi_background_scan_support, value=0
(0: background scan is enabled, 1: background scan is disabled;
example indicates background scan is enabled.)
Row: xx _id=yy, name=wifi_framework_scan_interval_ms, value=15000
(background scan interval, unit is "msec";
the above example indicates that background scan interval is 15,000 msec (= 15 seconds).)
NOTE: If one or all of these parameters are not displayed, they wer not configured by the intent which means that the values at default.
Wi-Fi Channel Disable Function
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | - | - | - | - |
FZ-T1 | - | - | - | - | - | - |
FZ-L1 | - | - | - | - | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the Intent API specifications for changing supported Wi-Fi Channel setting.
Intent API specification
API of 'Wi-Fi Channel Disable Function' can disable/enable Wi-Fi channels on each Bands(2.4GHz/5GHz) by bitmap value.
Application can control the supported Wi-Fi channels by sending broadcast Intent. In this section, specifications and sample code for API are described.
Function prototype
int band_chdsbl = 0; // 0:2.4GHz, 1:5GHz
int channels_chdsbl = 0; // In case of enabling all channels
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra(EXTRA_DATA1, band_chdsbl);
i.putExtra(EXTRA_DATA2, channels_chdsbl);
Parameters
Name | Type | Value |
---|---|---|
ACTION | String | “com.panasonic.toughpad.android.wifi.api.ACTION_WIFI_CHANNEL_MASK_CONFIG” |
EXTRA_DATA1 | String | “com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_CHANNEL_MASK_BAND_VALUE” |
band_chdsbl | int | Wi-Fi Band of Wi-Fi channels to disable 0 : 2.4GHz 1 : 5GHz |
EXTRA_DATA2 | String | “com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_CHANNEL_MASK_VALUE” |
channels_chdsbl | int | Bitmap values for Wi-Fi Channels to be disabled/enabled. The value "0" means that no channel of the band is disabled and all channels are available. (default setting) Note:It is impossible to enable channels which does not support by Factory shipment settings by this intent. The specifications of Bitmap values for Wi-Fi Channels on each Band are the following. The followings are examples for the Bitmap values. |
Sample source code
This Sample Source Code shows how to disable/enable Wi-Fi channels.[Example(1) : Set channels to disable except for Ch1/6/13 of 2.4GHz band.]
Intent i = new Intent();
int band_chdsbl = 0;
int channels_chdsbl = 12254;
i.setAction("com.panasonic.toughpad.android.wifi.api.ACTION_WIFI_CHANNEL_MASK_CONFIG");
i.putExtra("com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_CHANNEL_MASK_BAND_VALUE", band_chdsbl);
i.putExtra("com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_CHANNEL_MASK_VALUE", channels_chdsbl);
sendBroadcast(i);
[Example(2) : Set all channels of 2.4GHz NOT to be disabled, which means all channels of 2.4GHz will be available.]
int band_chdsbl = 0;
int channels_chdsbl = 0;
i.setAction("com.panasonic.toughpad.android.wifi.api.ACTION_WIFI_CHANNEL_MASK_CONFIG");
i.putExtra("com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_CHANNEL_MASK_BAND_VALUE", band_chdsbl);
i.putExtra("com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_CHANNEL_MASK_VALUE", channels_chdsbl);
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
// Set channels to disable except for Ch1/6/13 of 2.4GHz band
adb shell am broadcast -a com.panasonic.toughpad.android.wifi.api.ACTION_WIFI_CHANNEL_MASK_CONFIG --ei com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_CHANNEL_MASK_BAND_VALUE 0 --ei com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_CHANNEL_MASK_VALUE 12254
Conditions for value updated by intent to take effect
Wi-Fi should be turned OFF and ON once after intent sending.The value specified by this intent is initialized only after factory reset. It is maintained after the following operations, power ON with Wi-Fi disabled setting or firmware update over-the-air.
Disable Quick Setting Icons operation
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature to disable the operation of icons in Quick Setting that is displayed after swipe down the Status bar. The model supporting this feature has a flag, and the operation of icons in Quick Setting is disabled when this flag is set to "false".
Functions
Function prototype
Define the following Key as system property.
System Property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.qs_icon_setting | true/false | Enable / disable icon operation in Quick Setting. | true: enable false: disable |
Changing the value of the System Property can control enabling/disabling icon operation in Quick Setting.
When the System Property is changed, setting changes are applied without redraw the icons.
As shown below, System Property can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES
EXTRA_DATA:
Name: SYS_PROP_KEY
Value:<intent-key>(Type String)
Name: SYS_PROP_VALUE
Value:<system-property-value>(Type String)
intent-key | System Property Value | Description |
---|---|---|
QS_ICON_SETTING | true:enable false:disable |
Enable / disable icon operation in Quick Setting |
Sample source code
For example, this sample source code shows how to disable icon operation in Quick Setting.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("SYS_PROP_KEY", "QS_ICON_SETTING");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --include-stopped-packages --es SYS_PROP_KEY QS_ICON_SETTING --es SYS_PROP_VALUE false
Remarks
- The value of the System Property can be set and changed directly by the application which has the platform signature using the Android Framework API. The following is a modification example.
- Package name:android.os
- Class name:SystemProperties
- Method name:public static void set(String key, String value);
Example)
SystemProperties.set("persist.sys.qs_icon_setting", "false");
Disable Doze mode
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature to disable Doze mode for "(1) the System wide" or for "(2) each application".
(1) The flag that indicates whether System Doze mode is enabled or disabled is defined. When the flag is set to disabled, Doze mode is disabled.
(2) "Doze mode disabled list" is available. Any applications registered in this list are disabled for Doze mode.
Enable/Disable doze mode on System
Function prototype
Define the following Key as system property.
System Property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.doze_mode_enable | true/false | Enable / disable the Doze mode. | true: enable false: disable |
Changing this System Property value can control enabling/disabling the Doze mode after terminal reboot.
As shown below, System Property can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES
EXTRA_DATA:
Name: SYS_PROP_KEY
Value:<intent-key>(Type String)
Name: SYS_PROP_VALUE
Value:<system-property-value>(Type String)
intent-key | System Property Value | Description |
---|---|---|
DOZE_MODE | true:enable false:disable |
Enable / disable the Doze mode. |
Sample source code
For example, this sample source code shows how to disable the Doze mode.Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("SYS_PROP_KEY", "DOZE_MODE");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --include-stopped-packages --es SYS_PROP_KEY DOZE_MODE --es SYS_PROP_VALUE false
Remarks
- The value of the System Property can be set and changed directly by the application which has the platform signature using the Android Framework API. The following is a modification example.
- Package name:android.os
- Class name:SystemProperties
- Method name:public static void set(String key, String value);
Example)
SystemProperties.set("persist.sys.doze_mode_enable", "false");
Enable/Disable doze mode for each application
The setting to enable / disable the Doze mode for each application can be set and changed via Intent.
You can add or delete packages to the "Dose mode disabled list" either of the following three ways.
[Case 1] Individual package can be registered/unregistered in the Doze mode disabled list one by one operation.
[Case 2] Multiple packages can be registered/unregistered in the Doze mode disabled list in one operation.
[Case 3] All applications already registered in the Doze mode disabled list can be unregistered at once.
Intent i = new Intent();
i.setAction(ACTION);
i.addCategory(Intent.CATEGORY_DEFAULT);
Bundle b = new Bundle();
b.putString("DOZE_TARGET_ACTION", <enabled>);
// [CASE 1]
b.putString("DOZE_TARGET_PKG", <package-name>);
// [CASE 2]
b.putString("DOZE_TARGET_PKG", <package-name-list>);
// [CASE 3]
(nothing)
i.putExtras(b);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_DOZE_WHITELIST
EXTRA_DATA:
Name: DOZE_TARGET_ACTION
Value:<enabled> (Type String) ("DOZE_ADD" or "DOZE_REMOVE") // <- for [Case 1][Case 2]
Value: <enabled> (Type String) ("DOZE_REMOVE_ALL") // <- for [Case 3]
Name: DOZE_TARGET_PKG
Value:<package-name> (Type String) // <- for [Case 1]
Value:<package-name-list> (Type String Array) // <- for [Case 2]
Sample source code
For example, the sample source code of 3 cases is shown below.[Case 1] One package (package.sample.1) is unregistered in the Doze mode disabled list.
[Case 2] Multiple packages (package.sample.1, package.sample.2) are registered in the Doze mode disabled list.
[Case 3] All applications already registered in the Doze disable list are unregistered at once.
// On a component that inherits Context, such as Activity
// [Case 1] One package (package.sample.1) is unregistered in the Doze mode disabled list.
String package ="package.sample.1";
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_DOZE_WHITELIST");
i.addCategory(Intent.CATEGORY_DEFAULT);
Bundle b = new Bundle();
b.putString("DOZE_TARGET_ACTION", "DOZE_REMOVE");
b.putString("DOZE_TARGET_PKG", package);
i.putExtras(b);
sendBroadcast(i);
// [Case 2] Multiple packages (package.sample.1, package.sample.2) are registered in the Doze mode disabled list.
String[] packageList = new String[2];
packageList[0] = "package.sample.1";
packageList[1] = "package.sample.2";
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_DOZE_WHITELIST");
i.addCategory(Intent.CATEGORY_DEFAULT);
Bundle b = new Bundle();
b.putString("DOZE_TARGET_ACTION", "DOZE_ADD");
b.putString("DOZE_TARGET_PKG", packageList);
i.putExtras(b);
sendBroadcast(i);
// [Case 3] All applications already registered in the Doze mode disabled list are unregistered at once.
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_DOZE_WHITELIST");
i.addCategory(Intent.CATEGORY_DEFAULT);
Bundle b = new Bundle();
b.putString("DOZE_TARGET_ACTION", "DOZE_REMOVE_ALL");
i.putExtras(b);
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
// [Case 1] One package (package.sample.1) is unregistered in the Doze mode disabled list.
adb shell am broadcast -a panasonic.intent.action.SET_DOZE_WHITELIST -c android.intent.category.DEFAULT --es DOZE_TARGET_ACTION DOZE_REMOVE --es DOZE_TARGET_PKG package.sample.1
// [Case 2] Multiple packages (package.sample.1, package.sample.2) are registered in the Doze mode disabled list.
adb shell am broadcast -a panasonic.intent.action.SET_DOZE_WHITELIST -c android.intent.category.DEFAULT --es DOZE_TARGET_ACTION DOZE_ADD --esa DOZE_TARGET_PKG package.sample.1,package.sample.2
// [Case 3] All applications already registered in the Doze mode disabled list are unregistered at once.
adb shell am broadcast -a panasonic.intent.action.SET_DOZE_WHITELIST -c android.intent.category.DEFAULT --es DOZE_TARGET_ACTION DOZE_REMOVE_ALL
Disable SafeMode
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | ✓ | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that Safe Mode to be disabled. The terminal has a flag, and Safe Mode is disabled when this flag is set to "false".
Disable Safe Mode is applied to following cases.
- "Power off" in Global Action menu is Long pressed
- When the terminal starts up with Volume Down key is pressed.
Functions
Function prototype
Define the following Key as system property.
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.safe_mode_enabled | true/false | Enable/ disable Safe Mode. | true:Safe Mode enable false:Safe Mode disable |
Changing the value of the system property can control enabling/disabling Safe Mode.
When the system property is changed, setting changes are applied without restarting the terminal.
As shown below, system properties can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value>(Type String)
intent-key | system property Value | Description |
---|---|---|
SAFE_MODE | true: enable false: disable |
Enable / disable Safe Mode. |
Sample source code
This sample source code shows how to disable the transition to Safe Mode.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.putExtra("SYS_PROP_KEY", "SAFE_MODE");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --es SYS_PROP_KEY SAFE_MODE --es SYS_PROP_VALUE false
Remarks
- Even if the service for changing the system property is not activated, it is possible to change the settings by using the Intent FLAG "Intent.FLAG_INCLUDE_STOPPED_PACKAGES". Also, it is possible to set the system property without setting this FLAG parameters.
- If you do not add system properties, the behavior is the same as the behavior as setting "true" for the property.
- In case of the system application with the platform signature, the value of the system property can be set and changed directly by using the Android Framework API. See the example below.
Package Name: android.os
Class Name: SystemProperties
Method Name: public static void set(String key, String value);
Example)
SystemProperties.set("persist.sys.safe_mode_enabled", "false");
Disable GoogleNow
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | ✓ | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that Google Now to be disabled.
The terminal has a flag, and Google Now is disabled when this flag is set to false.
Disabling Google Now is effective in following cases.
- Home key long pressed and dragged.
- Assist key(key code : 219) short pressed or long pressed.
- Meta key right(key code : 118) pressed.
- Meta key left(key code : 117) pressed.
- Search key(key code : 84) long pressed. (*)
* ... However, Launcher App can launche Google Search while HOME screen or launcher screen is displayed.
Functions
Function prototype
Define the following Key as system property.
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.google_now_enabled | true/false | Enable / disable Google Now. | true: enable false: disable |
Changing the value of the system property can control enabling/disabling Google Now.
When the system property is changed, setting changes are applied without restarting the terminal.
As shown below, system properties can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value> (Type String)
intent-key | system property Value | Description |
---|---|---|
GOOGLE_NOW | true: enable false: disable |
Enable / disable Google Now. |
Sample source code
This sample source code shows how to disable Google Now.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.putExtra("SYS_PROP_KEY", "GOOGLE_NOW");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --es SYS_PROP_KEY GOOGLE_NOW --es SYS_PROP_VALUE false
Remarks
- If you do not add system properties, the behavior is the same as the behavior as setting "true" for the property.
- In case of the system application with the platform signature, the value of the system property can be set and changed directly by using the Android Framework API. See the example below.
Package Name: android.os
Class Name: SystemProperties
Method Name: public static void set(String key, String value);
Example)
SystemProperties.set("persist.sys.google_now_enabled", "false");
Disable BatterySaver Notification
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | ✓ | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that how to disable the
Battery Saver Notification and Low Battery Notification.
The
terminal has an enabled / disabled flag, when the flag is set to true,
Battery Saver Notification and Low Battery Notification will be
displayed. When the flag is set to false, Battery Saver
Notification and Low Battery Notification will not be
displayed.
Also, at this time Battery Saver
Notification will be disabled if they are displayed.
Disable Battery Saver Notification is applied to following cases below.
- When Battery Saver is enabled.
- When the battery is less than the threshold of Battery Saver.
Disable Low Battery Notification is applied to following cases below.
- When the battery is less than the threshold of Battery
Saver.
(When the battery is less than 15% when the Battery Saver is off.)
Functions
Function prototype
Define the following Key as system property.
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.show_saver_icon | true/false | Enable / disable Battery Saver Notification. | true: show Battery Saver Notification
and Low Battery Notification false: do not show Battery Saver Notification and Low Battery Notification |
Changing the value of the system property can control to show / hide the Battery Saver Notification and Low Battery Notification.
When the system property is changed, setting changes are applied without restarting the terminal.
As shown below, system properties can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value> (Type String)
intent-key | system property Value | Description |
---|---|---|
SHOW_BATTERY_SAVER_ICON | true: show false: disable |
Enable / disable Battery Saver Notification and Low Battery Notification. |
Sample source code
This sample source code shows how to disable of Battery Saver Notification and Low Battery Notification.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.putExtra("SYS_PROP_KEY", "SHOW_BATTERY_SAVER_ICON");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --es SYS_PROP_KEY SHOW_BATTERY_SAVER_ICON --es SYS_PROP_VALUE false
Remarks
- If you do not add system properties, the behavior is the same as the behavior as setting "true" for the property.
User button manager
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | ✓ | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to assign a function to a hardware key by broadcast intent.
This feature is enabled when UserButtonService (the default pre-installed button handler service) is used.
The supported hardware key for each model are as follows.
(*): The model has the hardware key, but does not support this feature.
Hardware key | Model | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
FZ-X1 | FZ-N1 | FZ-T1 | FZ-L1 | FZ-A3 | ||||||
JB | LP | LP | M | O | P | O | P | O | P | |
A1 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | - | - | ✓ |
A2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | - | - | ✓ |
A3 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | - | - | - | ✓ |
Side Left | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Side Right | - | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Volume up | - (*) | - (*) | - (*) | - (*) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Volume down | - (*) | - (*) | - (*) | - (*) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Camera(Focus/Shutter) | - (*) | - (*) | - (*) | - (*) | ✓ | ✓ | - (*) | - (*) | - (*) | - |
Functions
Key assignment
Function prototype
The URL of the content provider is as follows.
URL |
---|
content://com.panasonic.mobile.userbuttonservice.userbuttonprovider |
The fields of key assignment are as follows.
Key | Description | Note |
---|---|---|
type | Type of key pressed. | Primary key. Cannot be updated. |
mode | Function to be assigned to the key. | Can be updated. |
app | Name of app. | Can be updated. |
package | Package Name of app. | Can be updated. |
class | Class Name of app. | Can be updated. |
Changing the value of the content provider can controls the key action.
When the content provider is changed, the changes will are applied without restarting the terminal.
As shown below, fields can be set and changed via intent.
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra(NAME, <key-type>);
i.putExtra(NAME, <key-mode>);
i.putExtra(NAME, <application-name>);
i.putExtra(NAME, <application-package-name>);
i.putExtra(NAME, <application-class-name>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_USER_BUTTON
EXTRA_DATA:
Name: USER_BUTTON_TYPE
Value: <key-type> (Type String)
Name: USER_BUTTON_MODE
Value: <key-mode> (Type String)
Name: USER_BUTTON_APP
Value: <application-name> (Type String)
Name: USER_BUTTON_PACKAGE
Value: <application-package-name> (Type String)
Name: USER_BUTTON_CLASS
Value: <application-class-name> (Type String)
intent-key | Value | Description |
---|---|---|
USER_BUTTON_TYPE | short_press_a1 | Short press A1 key |
short_press_a2 | Short press A2 key | |
short_press_a3 | Short press A3 key | |
short_press_a1_a2 | Short press A1 key and A2 key | |
short_press_a2_a3 | Short press A2 key and A3 key | |
short_press_a1_a3 | Short press A1 key and A3 key | |
long_press_a1 | Long press A1 key | |
long_press_a2 | Long press A2 key | |
long_press_a3 | Long press A3 key | |
short_press_side_umts | Short press side key(UMTS mode) ※Only supported in FZ-X1 |
|
long_press_side_umts | Long press side key(UMTS mode) ※Only supported in FZ-X1 |
|
short_press_side_cdma2000 | Short press side key(CDMA2000 mode) ※only supported in FZ-X1 |
|
long_press_side_cdma2000 | Long press side key(CDMA2000 mode) ※only supported in FZ-X1 |
|
short_press_side_left | Short press left side key | |
long_press_side_left | Long press left side key | |
short_press_side_right | Short press right side key | |
long_press_side_right | Long press right side key | |
short_press_side_left_right | Short press left+right side Key | |
long_press_camera | Long press camera key ※only supported in FZ-N1(Android 8.x Oreo and Android 9.x Pie) |
|
long_press_volume_up | Long press volume up key | |
long_press_volume_down | Long press volume down key | |
short_press_camera | Short press camera key ※only supported in FZ-N1(Android 8.x Oreo and Android 9.x Pie) |
|
short_press_volume_up | Short press volume up key | |
short_press_volume_down | Short press volume down key | |
USER_BUTTON_MODE | 0 | Do nothing |
1 | Launch the Dashboard app | |
2 | Launch an app specified by the user | |
3 | Security mode | |
4 | Take screenshot | |
5 | Not Supported | |
6 | Not Supported | |
7 | Same action as Back key | |
8 | Action same as Home key | |
9 | Action same as Menu key | |
10 | Not Supported | |
11 | Not Supported | |
12 | Launch Program1 | |
13 | Launch Program2 | |
14 | Launch Program3 | |
15 | Switch Silent mode | |
16 | Select SIM card slot | |
17 | Scan barcode *Should be set "Barcode scanner" to both short press and long press. |
|
18 | Not Supported | |
19 | Switch Glove Touch mode ※only supported in FZ-N1(Android 8.x Oreo and Android 9.x Pie) |
|
20 | Switch Water Proof Touch mode ※only supported in FZ-N1(Android 8.x Oreo and Android 9.x Pie) |
|
21 | Switch Stylus Pen mode ※only supported in FZ-N1(Android 8.x Oreo and Android 9.x Pie) |
|
22 | Launch Camera ※Should be set "Camera" to both short press and long press. |
|
23 | Volume Up ※Should be set "Volume Up" to both short press and long press. |
|
24 | Volume Down ※Should be set "Volume Down" to both short press and long press. |
|
25 | String 0 | |
26 | String 1 | |
27 | String 2 | |
28 | String 3 | |
29 | String 4 | |
30 | String 5 | |
31 | String 6 | |
32 | String 7 | |
33 | String 8 | |
34 | String 9 | |
35 | String A | |
36 | String B | |
37 | String C | |
38 | String D | |
39 | String E | |
40 | String F | |
41 | String G | |
42 | String H | |
43 | String I | |
44 | String J | |
45 | String K | |
46 | String L | |
47 | String M | |
48 | String N | |
49 | String O | |
50 | String P | |
51 | String Q | |
52 | String R | |
53 | String S | |
54 | String T | |
55 | String U | |
56 | String V | |
57 | String W | |
58 | String X | |
59 | String Y | |
60 | String Z | |
61 | Enter Key | |
62 | TAB Key | |
63 | Space Key | |
64 | Escape Key | |
65 | Delete Key | |
66 | F1 | |
67 | F2 | |
68 | F3 | |
69 | F4 | |
70 | F5 | |
71 | F6 | |
72 | F7 | |
73 | F8 | |
74 | F9 | |
75 | F10 | |
76 | F11 | |
77 | F12 | |
78 | Number keypad string 0 | |
79 | Number keypad string 1 | |
80 | Number keypad string 2 | |
81 | Number keypad string 3 | |
82 | Number keypad string 4 | |
83 | Number keypad string 5 | |
84 | Number keypad string 6 | |
85 | Number keypad string 7 | |
86 | Number keypad string 8 | |
87 | Number keypad string 9 | |
88 | Division sign | |
89 | Multiplication sign | |
90 | Subtraction sign | |
91 | Plus sign | |
92 | Dot sign | |
93 | Comma sign | |
94 | Number keypad Enter key | |
95 | Equals sign | |
96 | Number keypad Left key | |
97 | Number keypad Right key | |
98 | DPAD Up | |
99 | DPAD Down | |
100 | DPAD Left | |
101 | DPAD Right | |
102 | DPAD Center | |
103 | Move Home | |
104 | Move End | |
105 | Page Up | |
106 | Page Down | |
107 | Insert | |
108 | Forward Delete | |
109 | Shift Left | |
110 | Shift Right | |
111 | Alt Left | |
112 | Alt Right | |
113 | Ctrl Left | |
114 | Ctrl Right | |
115 | Meta Left | |
116 | Meta Right | |
117 | Caps Lock | |
118 | Number Lock | |
119 | Scroll Lock | |
120 | Print Screen | |
121 | Break | |
122 | Function | |
123 | Minus | |
124 | Equals | |
125 | Left Bracket | |
126 | Right Bracket | |
127 | Grave | |
128 | Slash | |
129 | Backslash | |
130 | Semicolon | |
131 | Apostrophe | |
132 | Comma | |
133 | Period | |
134 | Forward | |
135 | APP Switch | |
136 | Calculator | |
137 | Explorer | |
138 | Envelope | |
139 | Bookmark | |
140 | Music | |
141 | Call | |
142 | End Call | |
143 | Mute | |
144 | Contacts | |
145 | Search | |
146 | Calendar | |
147 | Volume Mute | |
148 | Brightness Up | |
149 | Brightness Down | |
150 | Power | |
151 | Sleep | |
152 | WakeUP | |
153 | Head set hook | |
154 | Media play pause | |
155 | Media stop | |
156 | Media next | |
157 | Media previous | |
158 | Media rewind | |
159 | Media fast forward | |
160 | Media play | |
161 | Media Pause | |
162 | Media close | |
163 | Media eject | |
164 | Media record | |
165 | L1 | |
166 | R1 | |
167 | L2 | |
168 | R2 | |
169 | A | |
170 | B | |
171 | C | |
172 | X | |
173 | Y | |
174 | Z | |
175 | Thumbl | |
176 | Thumbr | |
177 | Start | |
178 | Select | |
179 | Mode | |
180 | Button 1 | |
181 | Button 2 | |
182 | Button 3 | |
183 | Button 4 | |
184 | Button 5 | |
185 | Button 6 | |
186 | Button 7 | |
187 | Button 8 | |
188 | Button 9 | |
189 | Button 10 | |
190 | Button 11 | |
191 | Button 12 | |
192 | Button 13 | |
193 | Button 14 | |
194 | Button 15 | |
195 | Button 16 | |
204 | Flashlight | |
205 | Touch operation mode ※only supported in FZ-T1/FZ-T1/FZ-A3 |
|
228 | Push to talk ※only supported in FZ-N1(Android 8.x Oreo and Android 9.x Pie) |
|
USER_BUTTON_APP | Anything | Name of app ※If USER_BUTTON_MODE is not 2, this intent key will be ignored. |
USER_BUTTON_PACKAGE | Anything | Package Name of app ※If USER_BUTTON_MODE is not 2, this intent key will be ignored. |
USER_BUTTON_CLASS | Anything | Class Name of app ※If USER_BUTTON_MODE is not 2, this intent key will be ignored. |
Sample source code
This sample source code shows how to assign an app to be launched, and how to assign a function.// On a component that inherits Context, such as Activity
// Assign launcing app(Maps) to A1 key short press
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_USER_BUTTON");
i.putExtra("USER_BUTTON_TYPE", "short_press_a1");
i.putExtra("USER_BUTTON_MODE", "2");
i.putExtra("USER_BUTTON_APP", "Maps");
i.putExtra("USER_BUTTON_PACKAGE", "com.google.android.apps.maps");
i.putExtra("USER_BUTTON_CLASS", "com.google.android.maps.MapsActivity");
sendBroadcast(i);
// Assign "Take screenshot" function to A3 key long press
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_USER_BUTTON");
i.putExtra("USER_BUTTON_TYPE", "long_press_a3");
i.putExtra("USER_BUTTON_MODE", "4");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
// Assign Launch App(Maps) to A1 key short press
adb shell am broadcast -a panasonic.intent.action.SET_USER_BUTTON --es USER_BUTTON_TYPE short_press_a1 --es USER_BUTTON_MODE 2 --es USER_BUTTON_APP Maps --es USER_BUTTON_PACKAGE com.google.android.apps.maps --es USER_BUTTON_CLASS com.google.android.maps.MapsActivity
// Assign "Take screenshot" to A3 key long press
adb shell am broadcast -a panasonic.intent.action.SET_USER_BUTTON --es USER_BUTTON_TYPE long_press_a3 --es USER_BUTTON_MODE 4
Remarks
- The value of the content provider can be set and changed directly by using the Android Framework API for the app. Refer below for modification examples.
Package Name: android.content
Class Name: ContentResolver
Method Name: public final int update(Uri uri, ContentValues values, String where, String[] selectionArgs)
Example)
public static final Uri CONTENT_URI =
Uri.parse("content://com.panasonic.mobile.userbuttonservice.userbuttonprovider");
// Assign "Take screenshot" to A3 key long press
ContentValues values = new ContentValues();
values.put("mode", "4");
values.put("app", "");
values.put("package", "");
values.put("class", "");
String select = "type = \"long_press_a3\"";
getContentResolver().update(CONTENT_URI, values, select, null);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
// Assign "Take screenshot" to A3 key long press
adb shell content update --uri content://com.panasonic.mobile.userbuttonservice.userbuttonprovider \
--where "type=\"long_press_a3\"" \
--bind mode:i:4 \
--bind app:s: \
--bind package:s: \
--bind class:s:
Example)
public static final Uri CONTENT_URI =
Uri.parse("content://com.panasonic.mobile.userbuttonservice.userbuttonprovider");
// Assign "Launch Application(Maps)" to A1 key short press
ContentValues values = new ContentValues();
values.put("mode", "2");
values.put("app", "Maps");
values.put("package", "com.google.android.apps.maps");
values.put("class", "com.google.android.maps.MapsActivity");
String select = "type = \"short_press_a1\"";
getContentResolver().update(CONTENT_URI, values, select, null);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
// Assign "Launch Application(Maps)" to A1 key short press
adb shell content update --uri content://com.panasonic.mobile.userbuttonservice.userbuttonprovider \
--where "type=\"short_press_a1\"" \
--bind mode:i:2 \
--bind app:s:Maps \
--bind package:s:com.google.android.apps.maps \
--bind class:s:com.google.android.maps.MapsActivity
Wake up key assignment
Function prototype
The following keys can be assigned as a wake up key by sending a broadcast intent.
"A1": A1 key
"A2": A2 key
"A3": A3 key
"LEFT": Left side key
"RIGHT": Right side key
When the intent is sent, setting changes are applied without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra(NAME, <key-type>);
i.putExtra(NAME, <key-mode>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_USER_BUTTON
EXTRA_DATA:
Name: USER_BUTTON_TYPE
Value: <key-type> (Type String)
Name: USER_BUTTON_MODE
Value: <key-mode> (Type String)
key-type | key-mode | Description |
---|---|---|
WAKEUP_KEY | Name list of keys that can wake up the device | Specify one or any combination of "A1", "A2", "A3", "LEFT", "RIGHT". To assign multiple keys, separate them with a comma (,). Unspecified keys will be excluded from the wake up keys. |
Sample source code
This sample source code shows how to assign key to wake up device.// On a component that inherits Context, such as Activity
//Assign A1 key, Left side key and Right side key to wake up device
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_USER_BUTTON");
i.putExtra("USER_BUTTON_TYPE", "WAKEUP_KEY");
i.putExtra("USER_BUTTON_MODE", "A1,LEFT,RIGHT");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_USER_BUTTON --es USER_BUTTON_TYPE WAKEUP_KEY --es USER_BUTTON_MODE A1,LEFT,RIGHT
Remarks
- The availability of wake up for each of these keys is saved as 1 or 0 in Settings.System (Android standard setting database). In the initial state, they are not set and cannot wake up the device, which is the as same as 0 being set.
- These settings in Settings.System can be set and changed directly by using the Android Framework API in the system application which is signed with the platform signature. Refer below for modification examples.
When changing these settings directly using the Android Framework API, it is reflected in the operation after the terminal is restarted.
Package Name: android.provider
Class Name: Settings.System
Method Name: public static boolean putIntForUser(ContentResolver cr, String name, int value, int userHandle)
Example)
final ContentResolver cv = context.getContentResolver();
Settings.System.putIntForUser(cv, Settings.System.KEYCODE_FUNCTION_A1_WAKEUP, 1, UserHandle.USER_CURRENT);
Settings.System.putIntForUser(cv, Settings.System.KEYCODE_FUNCTION_A2_WAKEUP, 1, UserHandle.USER_CURRENT);
Settings.System.putIntForUser(cv, Settings.System.KEYCODE_FUNCTION_A3_WAKEUP, 1, UserHandle.USER_CURRENT);
Settings.System.putIntForUser(cv, Settings.System.KEYCODE_FUNCTION_SIDE_L_WAKEUP, 1, UserHandle.USER_CURRENT);
Settings.System.putIntForUser(cv, Settings.System.KEYCODE_FUNCTION_SIDE_R_WAKEUP, 1, UserHandle.USER_CURRENT);
Delete RecentTasks
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | ✓ | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature how to delete Recent Tasks using Delete-Recent-Task Intent.
Functions
Function prototype
This function deletes all recent tasks displayed in Recent Activity after receiving Delete-Recent-Task Intent.
Parameters
ACTION: panasonic.intent.action.DELETE_RECENT_TASK
EXTRA_DATA:
None
Sample source code
This Sample source code shows how to delete the Recent Task from an application.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.DELETE_RECENT_TASK");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.DELETE_RECENT_TASK
DeviceRestriction
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that Device Restriction settings to be changed (enable / disable).
Functions
Function prototype
User can change device restriction settings by using broadcast Intent API.
When thease settings are changed, setting changes are applied without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <mdm-setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_MDM_SETTING
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SETTING_KEY
Value: <intent-key> (Type String)
Name: SETTING_VALUE
Value: <mdm-setting-value>(Type String)
FZ-N1 / FZ-T1 / FZ-L1
intent-key | mdm-setting-value | Description |
---|---|---|
DEVICE_WIFI | disable/enable/always-on/always-on-exc-ws | Enable / disable Wi-Fi device. |
DEVICE_BLUETOOTH | disable/enable/always-on/always-on-exc-ws | Enable / disable Bluetooth device. |
DEVICE_GPS | disable/enable/always-on | Enable / disable GPS device. |
DEVICE_SD | disable/enable | Enable / disable SD card. |
DEVICE_NFC | disable/enable/always-on/always-on-exc-ws | Enable / disable NFC device. |
DEVICE_CAMERA | disable/enable | Enable / disable Camera device. |
DEVICE_USB_ALL | disable/enable | Enable/disable USB charge. |
DEVICE_USB_HOST | disable/enable | Enable / disable USB device. |
DEVICE_USB_GADGET | disable/enable | Enable / disable USB Gadget. |
DEVICE_ADB | disable/enable | Enable/disable micro-USB ADB. |
DEVICE_MTP | disable/enable | Enable/disable micro-USB MTP/PTP function. |
DEVICE_USB_CRADLE | disable/enable | Enable / disable USB Cradle. |
DEVICE_USB_PORT_DEFAULT | dynamic/micro-USB/Cradle USB | Switch the default of USB connection. |
DEVICE_USB_OPTION_NOTIFICATION | disable/enable | Enable/disable USB detect notification. |
DEVICE_MICROPHONE | disable/enable | Enable / disable Microphone. |
DEVICE_USB_STORAGE | disable/enable/whitelist | Enable / disable USB Storage. |
DEVICE_WWAN | disable/enable/always-on/always-on-exc-ws | Enable / disable WWAN device. |
FZ-A3
intent-key | mdm-setting-Value | Description |
---|---|---|
DEVICE_WIFI | disable/enable/always-on/always-on-exc-ws | Enable / disable Wi-Fi device. |
DEVICE_BLUETOOTH | disable/enable/always-on/always-on-exc-ws | Enable / disable Bluetooth device. |
DEVICE_GPS | disable/enable/always-on | Enable / disable GPS device. |
DEVICE_SD | disable/enable | Enable / disable SD card. |
DEVICE_NFC | disable/enable/always-on/always-on-exc-ws | Enable / disable NFC device. |
DEVICE_USB_ALL | disable/enable | Enable/disable USB charge. |
DEVICE_USB_CRADLE | disable/enable | Enable / disable USB Cradle. |
DEVICE_USB_PORT_DEFAULT | dynamic/micro-USB/Cradle USB | Switch the default of USB connection. |
DEVICE_USB_OPTION_NOTIFICATION | disable/enable | Enable/disable USB detect notification. |
DEVICE_MICROPHONE | disable/enable | Enable / disable Microphone. |
DEVICE_USB_STORAGE | disable/enable/whitelist | Enable / disable USB Storage. |
DEVICE_WWAN | disable/enable/always-on | Enable / disable WWAN device. |
DEVICE_USB_HOST_TYPE_C | disable/enable | Enable / disable USB device via usb typeC connection. |
DEVICE_USB_HOST_TYPE_A | disable/enable | Enable / disable USB device via usb typeA connection. |
DEVICE_ADB_TYPE_C | disable/enable | Enable / disable USB ADB via usb typeC connection. |
DEVICE_MTP_TYPE_C | disable/enable | Enable / disable USB MTP/PTP function via usb typeC connection. |
Sample source code
This Sample Source Code shows how to set wifi device to disable.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_MDM_SETTING");
i.putExtra("SETTING_KEY", "DEVICE_WIFI");
i.putExtra("SETTING_VALUE", "disable");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_MDM_SETTING --es SETTING_KEY DEVICE_WIFI --es SETTING_VALUE disable
Remarks
- User can also change device restriction settings by using Device Management application.
Disable airplane mode
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that Airplane Mode to be disabled. The terminal has a flag. Airplane Mode is turned off and Airplane Mode changing operation is disabled when this flag is set to false.
Functions
Function prototype
Define the following Key as system property.
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.airplane_mode | true/false | Enable / disable Airplane Mode | true: enable false: disable |
Changing the value of the system property can control enabling/disabling Airplane Mode.
When the system property is changed, setting changes are applied without restarting the terminal.
As shown below, system properties can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value>(Type String)
intent-key | system property Value | Description |
---|---|---|
AIRPLANE_MODE | true:enable false:disable |
Enable / disable Airplane mode. |
Sample source code
This Sample source code shows how to disable Airplane mode from an application.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.putExtra("SYS_PROP_KEY", "AIRPLANE_MODE");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --es SYS_PROP_KEY AIRPLANE_MODE --es SYS_PROP_VALUE false
Remarks
- If you do not add system properties, the behavior is the same as setting "true" for the property.
- The value of the system property can be set and changed directly by using the Android Framework API for the application to which the platform signature is attached. See below for modification examples.
Package Name: android.os
Class Name: SystemProperties
Method Name: public static void set(String key, String value);
Example)
SystemProperties.set( persist.sys.airplane_mode ,"false");
Disable clip board function
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that Clip Board function to be disabled. The terminal has a flag, and Clip Board function is disabled when this flag is set to false.
Functions
Function prototype
Define the following Key as system property.
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.clip_board | true/false | Enable / disable Clip Board function. | true: enable false: disable |
Changing the value of the system property can control enabling/disabling Clip Board function.
When the system property is changed, setting changes are applied without restarting the terminal.
As shown below, system properties can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value>(Type String)
intent-key | system property Value | Description |
---|---|---|
CLIP_BOARD | true:enable false:disable |
Enable / disable Clip Board function. |
Sample source code
This Sample source code shows how to disable Clip Board function from an application.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.putExtra("SYS_PROP_KEY", "CLIP_BOARD");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --es SYS_PROP_KEY CLIP_BOARD --es SYS_PROP_VALUE false
Remarks
- If you do not add system properties, the behavior is the same as setting "true" for the property.
- The value of the system property can be set and changed directly by using the Android Framework API for the application to which the platform signature is attached. See below for modification examples.
Package Name: android.os
Class Name: SystemProperties
Method Name: public static void set(String key, String value);
Example)
SystemProperties.set(persist.sys.clip_board,"false");
Disable "install non market apps (Install unknown apps)" settings
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that "install non market apps (Install unknown apps)" setting to be disabled. The terminal has a flag. This setting is turned off and the operation of changing this setting is disabled when this flag is set to false.
Functions
Function prototype
Define the following Key as system property.
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.inst_nonmarket_app | true/false | Enable / disable "install non market apps (Install unknown apps)" setting. | true:enable false:disable |
Changing the value of the system property can control enabling/disabling "install non market apps" setting.
When the system property is changed, setting changes are applied without restarting the terminal.
As shown below, system properties can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value>(Type String)
intent-key | system property Value | Description |
---|---|---|
INSTALL_NON_MARKET_APPS | true:enable false:disable |
Enable / disable "install non market apps (Install unknown apps)" setting. |
Sample source code
This Sample source code shows how to disable "install non market apps (Install unknown apps)" setting from an application.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.putExtra("SYS_PROP_KEY", "INSTALL_NON_MARKET_APPS");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --es SYS_PROP_KEY INSTALL_NON_MARKET_APPS --es SYS_PROP_VALUE false
Remarks
- If you do not add system properties, the behavior is the same as setting "true" for the property.
- The value of the system property can be set and changed directly by using the Android Framework API for the application to which the platform signature is attached. See below for modification examples.
Package Name: android.os
Class Name: SystemProperties
Method Name: public static void set(String key, String value);
Example)
SystemProperties.set(persist.sys.inst_nonmarket_app ,"false");
Data roaming
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to disable data roaming in cellular models.
The terminal has a flag for enabling/disabling.
Data roaming is turned off and the operation of changing data roaming is disabled when this flag is set to false.
Functions
Function prototype
Define the following key as a system property.
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.data_roaming | true/false | Enable / disable data roaming | true: enable false: disable |
Changing the value of the system property can enable/disable data roaming.
When the system property is changed, the setting changes are applied without restarting the terminal.
As shown below, system properties can be set and changed via intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value>(Type String)
intent-key | system property Value | Description |
---|---|---|
DATA_ROAMING | true:enable false:disable |
Enable / disable data roaming. |
Sample source code
This sample source code shows how to disable data roaming from an app.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.putExtra("SYS_PROP_KEY", "DATA_ROAMING");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command(Enable Stay awake Setting)
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --es SYS_PROP_KEY DATA_ROAMING SYS_PROP_VALUE false
Remarks
- If you do not add system properties, the behavior is the same as setting "true" for the property.
- The value of the system property can be set and changed directly by using the Android Framework API for the app to which the platform signature is attached. See below for modification examples.
Package Name: android.os
Class Name: SystemProperties
Method Name: public static void set(String key, String value);
Example)
SystemProperties.set(persist.sys.data_roaming,"false");
Reboot Device
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature to reboot a device by sending broadcast Intent.
Functions
Function prototype
The definition of the intent is as follows.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <other-setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTING
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: OTHER_SETTING_KEY
Value: <intent-key> (Type String)
Name: OTHER_SETTING_VALUE
Value: <other-setting-value>(Type String)
intent-key | other-setting-value | Description |
---|---|---|
REBOOT_DEVICE | any character(not null) | Reboot the device. |
Sample source code
The following code is a sample to reboot the device.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "REBOOT_DEVICE");
i.putExtra("OTHER_SETTING_VALUE", "reboot");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY REBOOT_DEVICE --es OTHER_SETTING_VALUE reboot
Volume Brightness Settings
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature for changing volume/brightness settings by sending broadcast Intent.
Functions
Function prototype
Volume/brightness settings of the target function can be changed by sending broadcast intent.
# | Feature | Contents |
---|---|---|
1 | Volume | Music Volume |
2 | Alarm Volume | |
3 | Notification Volume | |
4 | Display | Brightness |
5 | Auto brightness Adjustment | |
6 | Brightness mode |
When the intent is sent, the change of settings are effective withou restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTING
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: OTHER_SETTING_KEY
Value: <intent-key> (Type String)
Name: OTHER_SETTING_VALUE
Value: <setting-value> (Type String)
intent-key | other-setting-Value | Description |
---|---|---|
MUSIC_VOLUME_SETTING | 0-15 | Change music volume |
ALARM_VOLUME_SETTING | 0-7 | Change alarm volume |
NOTIFICATION_VOLUME_SETTING | 0-7 | Change notification volume |
DISPLAY_BRIGHTNESS | 20-255 | Change display brightness |
DISPLAY_AUTO_BRIGHTNESS_ADJ | 0-100 | Change display auto brightness Adjustment value |
DISPLAY_BRIGHTNESS_MODE | 0:Manual 1:Auto |
Change display brightness mode. |
Sample source code
The following code is a sample to set the music volume to "10" from an application.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "MUSIC_VOLUME_SETTING");
i.putExtra("OTHER_SETTING_VALUE", "10");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY MUSIC_VOLUME_SETTING --es OTHER_SETTING_VALUE 10
Keep Wi-Fi on during sleep
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to keep Wi-Fi on during sleep by intent.
Functions
Function prototype
The setting of the target function can be changed by designating parameters in the broadcast intent.
# | Feature | Contents |
---|---|---|
1 | Wi-Fi | Keep Wi-Fi on during sleep |
When the intent is sent, the change of settings are effective without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <other-setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTING
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: OTHER_SETTING_KEY
Value: <intent-key> (Type String)
Name: OTHER_SETTING_VALUE
Value: <other-setting-value> (Type String)
intent-key | other-setting-value | Description |
---|---|---|
WIFI_SLEEP_POLICY | 0: never 1:Only when plugged in 2: always |
Change the [Keep Wi-Fi on during sleep] setting. |
Sample source code
The following code is a sample to change the setting from an app so that Wi-Fi is always on during sleep.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "WIFI_SLEEP_POLICY");
i.putExtra("OTHER_SETTING_VALUE", "2");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY WIFI_SLEEP_POLICY --es OTHER_SETTING_VALUE 2
Runtime Permission Setting
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that how to grant or revoke Runtime Permissions (including special permissions) by sending broadcast Intent.
Functions
Function prototype
When Runtime-Permission-Setting Intent received, if the application specified in the intent has been installed, Runtime Permissions (including special permissions) of this application will be granted or revoked by following the intent data.
If Runtime Permission is changed while application is running, the following behavior will be performed.
- The targetSdkVersion of the application is above 23 : The application will be finished(permission revoked only).
- The targetSdkVersion of the application is below 22 : The application will be finished(permission granted or revoked).
If the application specified in the intent is not installed, intent data will be saved until the application is installed. When the application is installed, Runtime Permissions (including special permissions) will be granted or revoked by following the intent data saved before. After settings, the saved intent data will be cleared.
When the permission setting is changed, setting changes are applied without restarting the terminal.
Parameters
ACTION: String "panasonic.intent.action.SET_RUNTIME_PERMISSION".
EXTRA_DATA:
Name: PERMISSION_SETTING_PACKAGE
Value: <package-name-value> (Type String)
Name: PERMISSION_SETTING_MODE
Value: <permission-setting-mode-value> (Type String)
Name: PERMISSION_SETTING_DATA
Value: <permission-setting-data-value> (Type String)
Intent Key | Value | Description |
---|---|---|
PERMISSION_SETTING_PACKAGE | Anything * |
Package Name of app. |
PERMISSION_SETTING_MODE | 0 | Only grant or revoke the permissions specified in PERMISSION_SETTING_DATA |
1 | Grant or revoke all permissions used by the application. |
|
PERMISSION_SETTING_DATA | Anything * |
When PERMISSION_SETTING_MODE is set to 0, create data using the format as follows: 1. Use "=" mark between permission’s name and permission’s value. 2. Use permission’s full name. 3. Permission’s value can be set to true or false, and is case-insensitive. 4. Use "&&" mark between permissions when two or more permissions are specified. |
true | Grant all permissions when PERMISSION_SETTING_MODE is set to 1. This value is case-insensitive. |
|
false | Revoke all permissions when PERMISSION_SETTING_MODE is set to 1. This value is case-insensitive. |
Sample source code
The following code is a sample to grant the permission for reading contacts and to revoke the permission for writing contacts to "com.android.dialer".// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_RUNTIME_PERMISSION");
i.putExtra("PERMISSION_SETTING_PACKAGE", "com.android.dialer");
i.putExtra("PERMISSION_SETTING_MODE", "0");
i.putExtra("PERMISSION_SETTING_DATA", "android.permission.READ_CONTACTS=true && android.permission.WRITE_CONTACTS=false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_RUNTIME_PERMISSION --es PERMISSION_SETTING_PACKAGE com.android.dialer --es PERMISSION_SETTING_MODE 0 --es PERMISSION_SETTING_DATA "android.permission.READ_CONTACTS=true \&\& android.permission.WRITE_CONTACTS=false"
Remarks
- Can not change Permission setting of com.android.voicemail.permission.ADD_VOICEMAIL and android.permission.READ_CELL_BROADCASTS.(Change grant setting is invalid.)
Disable BackUpData-AutoSync
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This document shows the features that restrict the Google Backup function and the Google Account Automatic Sync function.
Functions
Function prototype
User can restrict the Google Backup function and the Google Account Automatic Sync function by using the broadcast Intent API.
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <value> (Type String)
intent-key | Value | Description |
---|---|---|
BACKUP_MYDATA | true: enable false: disable |
Enable / disable the Google Backup function. |
AUTO_SYNC | true: enable false: disable |
Enable / disable the Google Account Automatic Sync function. |
When AUTO_SYNC Intent is received and value is false, the Google Account Automatic Sync function is changed to OFF.
Sample source code
The following code is a sample to disable the Google Backup function from an application.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.putExtra("SYS_PROP_KEY", "BACKUP_MYDATA");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --es SYS_PROP_KEY BACKUP_MYDATA --es SYS_PROP_VALUE false
Remarks
- When you change the Google Account Automatic Sync function from disable to enable with BACKUP_MYDATA, the setting of this function will be changable. (At this time, this initial setting value is OFF.)
- The enable/disable setting of the Google Account Automatic Synchronization function is set on a per-user basis, and the current user is registed as the setting target.
Hide Developer Option in Settings
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that Developer option in Settings app to be hidden. The model supporting this feature has a flag, and Developer option is hidden when this flag is set to "false".
Functions
Function prototype
Define the following Key as system property.
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.developer_option | true/false | Switch the show/hide of Developer option. | true: show false: hide |
Changing the value of the system property can control show or hide of Developer option.
The show/hide setting is effective after the screen of Setting app is updated.
As shown below, system properties can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value> (Type String)
intent-key | system property Value | Description |
DEVELOPER_OPTION | true: show false: hide |
Switch the show/hide of Developer option. |
Sample source code
The following code is a sapmle to hide Developer option.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.putExtra("SYS_PROP_KEY", "DEVELOPER_OPTION");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --es SYS_PROP_KEY DEVELOPER_OPTION --es SYS_PROP_VALUE false
Remarks
- If you do not add system properties, the behavior is the same as setting "true" for the property.
- The value of the system property can be set and changed directly by using the Android Framework API for the application to which the platform signature is attached. See below for modification examples.
Example)
SystemProperties.set(persist.sys.developer_option, "false");
- If hide intent is send, the developer option item menu in Settings app disappears.
VPN setting
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section shows how to register and delete VPNs, as well as set the connection type and install certificates by intent.
Functions
VPN setting registration
Function prototype
The user can register VPNs by specifying the VPN settings in a broadcast intent.
After sending the intent, setting changes are applied without restarting the terminal.
This intent is for registration only, not for connection.
The user must be set as an "owner" to register VPN settings.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <name>);
i.putExtra(NAME, <type>);
i.putExtra(NAME, <server>);
i.putExtra(NAME, <dns-server>);
i.putExtra(NAME, <search-domains>);
i.putExtra(NAME, <routes>);
i.putExtra(NAME, <username>);
i.putExtra(NAME, <password>);
i.putExtra(NAME, <login>);
i.putExtra(NAME, <mppe>);
i.putExtra(NAME, <l2tp-secret>);
i.putExtra(NAME, <ipsec-id>);
i.putExtra(NAME, <ipsec-secret>);
i.putExtra(NAME, < ipsec-user-cert>);
i.putExtra(NAME, < ipsec-ca-cert>);
i.putExtra(NAME, < ipsec-server-cert>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_VPN_SETTING
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: NAME
Value: <name> (Type String)
Name: TYPE
Value: <type> (Type String)
Name: SERVER
Value: <server> (Type String)
Name: DNS_SERVER
Value: <dns-server> (Type String)
Name: SEARCH_DOMAINS
Value: <search-domains> (Type String)
Name: ROUTES
Value: <routes> (Type String)
Name: USERNAME
Value: <username> (Type String)
Name: PASSWORD
Value: <password> (Type String)
Name: LOGIN
Value: <login> (Type Boolean)
Name: MPPE
Value: <mppe> (Type Boolean)
Name: L2TP_SECRET
Value: <l2tp-secret> (Type String)
Name: IPSEC_ID
Value: <ipsec-id> (Type String)
Name: IPSEC_SECRET
Value: <ipsec-secret> (Type String)
Name: IPSEC_USER_CERT
Value: <ipsec-user-cert> (Type String)
Name: IPSEC_CA_CERT
Value: <ipsec-ca-cert> (Type String)
Name: IPSEC_SERVER_CERT
Value: <ipsec-server-cert> (Type String)
Attribute | Necessity | Description |
---|---|---|
name | Required | Name to register |
type | Required | VPN connection type, ‘PPTP’, ‘L2TP_IPSEC_PSK’, ‘L2TP_IPSEC_RSA’, ‘IPSEC_XAUTH_PSK’, ‘IPSEC_XAUTH_RSA’, ‘IPSEC_HYBRID_RSA’ |
server | Required | VPN server |
dns-server | Optional | DNS server |
search-domains | Optional | DNS search domains |
routes | Optional | DNS search routes |
username | Optional | VPN connect user name |
password | Optional | VPN connect user password |
login | Optional | User, password stored |
mppe | Optional | Presence or absence of PPP encryption, only PPTP |
l2tp-secret | Optional | L2TP security protection, only L2TP/IPSec PSK/RSA |
ipsec-id | Optional | IPSec ID, only L2TP/IPSec PSK, IPSec Xauth PSK |
ipsec-secret | Required | IPSec pre-shared key, only L2TP/IPSec PSK, IPSec Xauth PSK |
ipsec-user-cert | Required | IPSec user certificate name, only L2TP/IPSec RSA, IPSec Xauth RSA |
ipsec-ca-cert | Optional | IPSec CA certificate name, only L2TP/IPSec RSA, IPSec Xauth RSA, IPSec Hybrid RSA |
ipsec-server-cert | Optional | IPSec server certificate name, only L2TP/IPSec RSA, IPSec Xauth RSA, IPSec Hybrid RSA |
Sample source code
The following code is a sample to configure VPN settings.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_VPN_SETTING");
i.putExtra("NAME", "vpn");
i.putExtra("TYPE", "PPTP");
i.putExtra("SERVER", "192.168.11.1");
i.putExtra("USERNAME", "user");
i.putExtra("PASSWORD", "password");
i.putExtra("LOGIN", true);
i.putExtra("MPPE", true);
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_VPN_SETTING --es NAME vpn --es TYPE PPTP --es SERVER 192.68.11.1 --es USERNAME user --es PASSWORD password --es LOGIN true --es MPPE true
VPN deletion, connection, disconnection, always-on
Function prototype
You can delete, connect, and disconnect VPNs, or set a VPN to always on by specifying a VPN setting name and action name in a broadcast intent. If necessary, you can also specify a user name and password required for login.
If a VPN setting name already exists, you can specify anything by putting ':' at the end of the VPN setting name and an index. Not specifying it is the same as putting ':1' at the end. The indices are allocated to VPN settings with the same name in order from 1. If the setting displayed on the VPN list of the setting app is on the upper part, it has the smallest index and increases as it goes down. If the VPN setting is deleted, the index is allocated again from 1.
About the case where the setting of registration is as follows
SAMPLE_APN
SAMPLE_APN
SAMPLE_APN
VPN_NAME
- Specify:
- From the case above, you can specify "SAMPLE_APN:1", "SAMPLE_APN:2", "SAMPLE_APN:3", or "VPN_NAME:1". For example, "SAMPLE_APN:2" refers to the second SAMPLE_APN from the top.
- Omitting:
- If the index is omitted, it is assumed to be ":1". For example, "SAMPLE_APN" refers to the top SAMPLE_APN.
- Delete:
- Indices after deletion are shifted up. For example, after deleting the second SAMPLE_APN from the top using "SAMPLE_APN:2", the remaining APNs are indexed as "SAMPLE_APN:1", "SAMPLE_APN:2", " VPN_NAME:1" from the top.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <name>);
i.putExtra(NAME, <type>);
i.putExtra(NAME, <username>);
i.putExtra(NAME, <password>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_VPN_STATUS
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: NAME
Value: <name> (Type String)
Name: TYPE
Value: <type> (Type String)
Name: USERNAME
Value: <username> (Type String)
Name: PASSWORD
Value: <password> (Type String)
value-name | value | necessity | use |
---|---|---|---|
name | required | Target setting name | |
type | DELETE CONNECT DISCONNECT ALWAYS |
required | Operation type |
username | optional | Login name If it is not saved, it is necessary for connection |
|
password | optional | Login password If it is not saved, it is necessary for connection |
Sample source code
The following code is a sample for establishing VPN connection.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_VPN_STATUS");
i.putExtra("NAME", "vpn.name");
i.putExtra("TYPE", "CONNECT");
sendBroadcast(i);
Certificate installation
Function prototype
You can install a certificate by specifying the certificate information in a broadcast intent. The file of the certificate must be stored in the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <cert-name>);
i.putExtra(NAME, <cert-type>);
i.putExtra(NAME, <cert-pkcs-password>);
i.putExtra(NAME, <cert-relative-path>);
i.putExtra(NAME, <install-with-encryption>);
i.putExtra(NAME, <install-uid>);
sendBroadcast(i);
Parameters
ACTION:panasonic.intent.action.INSTALL_CERTIFICATE
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: CERT_NAME
Value: <cert-name> (Type String)
Name: CERT_TYPE
Value: <cert-type> (Type String)
Name: CERT_PKCS_PASSWORD
Value: <cert-pkcs-password> (Type String)
Name: CERT_RELATIVE_PATH
Value: <cert-relative-path> (Type String)
Name: INSTALL_WITH_ENCRYPTION
Value: <install-with-encryption> (Type String)
Name: INSTALL_UID
Value: <install-uid> (Type String)
Sample source code
The following code is a sample for certificate installation.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.INSTALL_CERTIFICATE");
i.putExtra("CERT_NAME", "client.cert");
i.putExtra("CERT_TYPE", "PKCS12");
i.putExtra("CERT_PKCS_PASSWORD", "cert.password");
i.putExtra("CERT_RELATIVE_PATH", "Download/client.p12");
i.putExtra("INSTALL_WITH_ENCRYPTION", "ENABLE");
i.putExtra("INSTALL_UID", "ID_USER");
sendBroadcast(i);
Time setting
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
The document describes broadcast intents that setting
features below:
"Automatic date & time", "Automatic time
zone", "Select time zone", "Use 24-hour format" and "NTP
server address".
Functions
Function prototype
You can change settings for "Date & time" by sending a
broadcast intent with "Date & time" information.
When the intent is sent, setting changes are applied without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <other-setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTING
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: OTHER_SETTING_KEY
Value: <intent-key> (Type String)
Name: OTHER_SETTING _VALUE
Value: <other-setting-value> (Type String)
intent-key | other-setting-value | Description |
---|---|---|
NTP_AUTO | 0:Disable/1:Enable | Use automatic date and time setting. |
TIMEZONE_AUTO | 0:Disable/1:Enable | Use automatic time zone selection. |
TIME_ZONE | Time zone (String) | Select time zone (*Any string from "Strings for time zone"). |
24HOUR_FORMAT | 0:Disable/1:Enable | Use 24-hour format. |
NTP_SERVER_IPADR | NTP server address (String) | Set NTP server address. (When set '.', NTP server address to empty.) |
NTP_ONLY | 0:Disable/1:Enable | Set only use NTP, not use NITS with automatic date & time setting and automatic time zone selection. |
Sample source code
The following code is a sample for enabling automatic date and time setting.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "NTP_AUTO");
i.putExtra("OTHER_SETTING _VALUE", "1");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY NTP_AUTO --es OTHER_SETTING_VALUE 1
*Strings for time zone.
Africa/Abidjan Africa/Accra Africa/Addis_Ababa Africa/Algiers Africa/Asmara Africa/Asmera Africa/Bamako Africa/Bangui Africa/Banjul Africa/Bissau Africa/Blantyre Africa/Brazzaville Africa/Bujumbura Africa/Cairo Africa/Casablanca Africa/Ceuta Africa/Conakry Africa/Dakar Africa/Dar_es_Salaam Africa/Djibouti Africa/Douala Africa/El_Aaiun Africa/Freetown Africa/Gaborone Africa/Harare Africa/Johannesburg Africa/Juba Africa/Kampala Africa/Khartoum Africa/Kigali Africa/Kinshasa Africa/Lagos Africa/Libreville Africa/Lome Africa/Luanda Africa/Lubumbashi Africa/Lusaka Africa/Malabo Africa/Maputo Africa/Maseru Africa/Mbabane Africa/Mogadishu Africa/Monrovia Africa/Nairobi Africa/Ndjamena Africa/Niamey Africa/Nouakchott Africa/Ouagadougou Africa/Porto-Novo Africa/Sao_Tome Africa/Timbuktu Africa/Tripoli Africa/Tunis Africa/Windhoek America/Adak America/Anchorage America/Anguilla America/Antigua America/Araguaina America/Argentina/Buenos_Aires America/Argentina/Catamarca America/Argentina/ComodRivadavia America/Argentina/Cordoba America/Argentina/Jujuy America/Argentina/La_Rioja America/Argentina/Mendoza America/Argentina/Rio_Gallegos America/Argentina/Salta America/Argentina/San_Juan America/Argentina/San_Luis America/Argentina/Tucuman America/Argentina/Ushuaia America/Aruba America/Asuncion America/Atikokan America/Atka America/Bahia America/Bahia_Banderas America/Barbados America/Belem America/Belize America/Blanc-Sablon America/Boa_Vista America/Bogota America/Boise America/Buenos_Aires America/Cambridge_Bay America/Campo_Grande America/Cancun America/Caracas America/Catamarca America/Cayenne America/Cayman America/Chicago America/Chihuahua America/Coral_Harbour America/Cordoba America/Costa_Rica America/Creston America/Cuiaba America/Curacao America/Danmarkshavn America/Dawson America/Dawson_Creek America/Denver America/Detroit America/Dominica America/Edmonton America/Eirunepe America/El_Salvador America/Ensenada America/Fort_Wayne America/Fortaleza America/Glace_Bay America/Godthab America/Goose_Bay America/Grand_Turk America/Grenada America/Guadeloupe America/Guatemala America/Guayaquil America/Guyana America/Halifax America/Havana America/Hermosillo America/Indiana/Indianapolis America/Indiana/Knox America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Tell_City America/Indiana/Vevay America/Indiana/Vincennes America/Indiana/Winamac America/Indianapolis America/Inuvik America/Iqaluit America/Jamaica America/Jujuy America/Juneau America/Kentucky/Louisville America/Kentucky/Monticello America/Knox_IN America/Kralendijk America/La_Paz America/Lima America/Los_Angeles America/Louisville America/Lower_Princes America/Maceio America/Managua America/Manaus America/Marigot America/Martinique America/Matamoros America/Mazatlan America/Mendoza America/Menominee America/Merida America/Metlakatla America/Mexico_City America/Miquelon America/Moncton America/Monterrey America/Montevideo America/Montreal America/Montserrat America/Nassau America/New_York America/Nipigon America/Nome America/Noronha America/North_Dakota/Beulah America/North_Dakota/Center America/North_Dakota/New_Salem America/Ojinaga America/Panama America/Pangnirtung America/Paramaribo America/Phoenix America/Port-au-Prince America/Port_of_Spain America/Porto_Acre America/Porto_Velho America/Puerto_Rico America/Rainy_River America/Rankin_Inlet America/Recife America/Regina America/Resolute America/Rio_Branco America/Rosario America/Santa_Isabel America/Santarem America/Santiago America/Santo_Domingo America/Sao_Paulo America/Scoresbysund America/Shiprock America/Sitka America/St_Barthelemy America/St_Johns America/St_Kitts America/St_Lucia America/St_Thomas America/St_Vincent America/Swift_Current America/Tegucigalpa America/Thule America/Thunder_Bay America/Tijuana America/Toronto America/Tortola America/Vancouver America/Virgin America/Whitehorse America/Winnipeg America/Yakutat America/Yellowknife Antarctica/Casey Antarctica/Davis Antarctica/DumontDUrville Antarctica/Macquarie Antarctica/Mawson Antarctica/McMurdo Antarctica/Palmer Antarctica/Rothera Antarctica/South_Pole Antarctica/Syowa Antarctica/Troll Antarctica/Vostok Arctic/Longyearbyen Asia/Aden Asia/Almaty Asia/Amman Asia/Anadyr Asia/Aqtau Asia/Aqtobe Asia/Ashgabat Asia/Ashkhabad Asia/Baghdad Asia/Bahrain Asia/Baku Asia/Bangkok Asia/Beirut Asia/Bishkek Asia/Brunei Asia/Calcutta Asia/Chita Asia/Choibalsan Asia/Chongqing Asia/Chungking Asia/Colombo Asia/Dacca Asia/Damascus Asia/Dhaka Asia/Dili Asia/Dubai Asia/Dushanbe Asia/Gaza Asia/Hanoi Asia/Harbin Asia/Hebron Asia/Ho_Chi_Minh Asia/Hong_Kong Asia/Hovd Asia/Irkutsk Asia/Istanbul Asia/Jakarta Asia/Jayapura Asia/Jerusalem Asia/Kabul Asia/Kamchatka Asia/Karachi Asia/Kashgar Asia/Kathmandu Asia/Katmandu Asia/Khandyga Asia/Kolkata Asia/Krasnoyarsk Asia/Kuala_Lumpur Asia/Kuching Asia/Kuwait Asia/Macao Asia/Macau Asia/Magadan Asia/Makassar Asia/Manila Asia/Muscat Asia/Nicosia Asia/Novokuznetsk Asia/Novosibirsk
Asia/Omsk Asia/Oral Asia/Phnom_Penh Asia/Pontianak Asia/Pyongyang Asia/Qatar Asia/Qyzylorda Asia/Rangoon Asia/Riyadh Asia/Saigon Asia/Sakhalin Asia/Samarkand Asia/Seoul Asia/Shanghai Asia/Singapore Asia/Srednekolymsk Asia/Taipei Asia/Tashkent Asia/Tbilisi Asia/Tehran Asia/Tel_Aviv Asia/Thimbu Asia/Thimphu Asia/Tokyo Asia/Ujung_Pandang Asia/Ulaanbaatar Asia/Ulan_Bator Asia/Urumqi Asia/Ust-Nera Asia/Vientiane Asia/Vladivostok Asia/Yakutsk Asia/Yekaterinburg Asia/Yerevan Atlantic/Azores Atlantic/Bermuda Atlantic/Canary Atlantic/Cape_Verde Atlantic/Faeroe Atlantic/Faroe Atlantic/Jan_Mayen Atlantic/Madeira Atlantic/Reykjavik Atlantic/South_Georgia Atlantic/St_Helena Atlantic/Stanley Australia/ACT Australia/Adelaide Australia/Brisbane Australia/Broken_Hill Australia/Canberra Australia/Currie Australia/Darwin Australia/Eucla Australia/Hobart Australia/LHI Australia/Lindeman Australia/Lord_Howe Australia/Melbourne Australia/NSW Australia/North Australia/Perth Australia/Queensland Australia/South Australia/Sydney Australia/Tasmania Australia/Victoria Australia/West Australia/Yancowinna Brazil/Acre Brazil/DeNoronha Brazil/East Brazil/West CET CST6CDT Canada/Atlantic Canada/Central Canada/East-Saskatchewan Canada/Eastern Canada/Mountain Canada/Newfoundland Canada/Pacific Canada/Saskatchewan Canada/Yukon Chile/Continental Chile/EasterIsland Cuba EET EST EST5EDT Egypt Eire Etc/GMT Etc/GMT+0 Etc/GMT+1 Etc/GMT+10 Etc/GMT+11 Etc/GMT+12 Etc/GMT+2 Etc/GMT+3 Etc/GMT+4 Etc/GMT+5 Etc/GMT+6 Etc/GMT+7 Etc/GMT+8 Etc/GMT+9 Etc/GMT-0 Etc/GMT-1 Etc/GMT-10 Etc/GMT-11 Etc/GMT-12 Etc/GMT-13 Etc/GMT-14 Etc/GMT-2 Etc/GMT-3 Etc/GMT-4 Etc/GMT-5 Etc/GMT-6 Etc/GMT-7 Etc/GMT-8 Etc/GMT-9 Etc/GMT0 Etc/Greenwich Etc/UCT Etc/UTC Etc/Universal Etc/Zulu Europe/Amsterdam Europe/Andorra Europe/Athens Europe/Belfast Europe/Belgrade Europe/Berlin Europe/Bratislava Europe/Brussels Europe/Bucharest Europe/Budapest Europe/Busingen Europe/Chisinau Europe/Copenhagen Europe/Dublin Europe/Gibraltar Europe/Guernsey Europe/Helsinki Europe/Isle_of_Man Europe/Istanbul Europe/Jersey Europe/Kaliningrad Europe/Kiev Europe/Lisbon Europe/Ljubljana Europe/London Europe/Luxembourg Europe/Madrid Europe/Malta Europe/Mariehamn Europe/Minsk Europe/Monaco Europe/Moscow Europe/Nicosia Europe/Oslo Europe/Paris Europe/Podgorica Europe/Prague Europe/Riga Europe/Rome Europe/Samara Europe/San_Marino Europe/Sarajevo Europe/Simferopol Europe/Skopje Europe/Sofia Europe/Stockholm Europe/Tallinn Europe/Tirane Europe/Tiraspol Europe/Uzhgorod Europe/Vaduz Europe/Vatican Europe/Vienna Europe/Vilnius Europe/Volgograd Europe/Warsaw Europe/Zagreb Europe/Zaporozhye Europe/Zurich GB GB-Eire GMT GMT+0 GMT-0 GMT0 Greenwich HST Hongkong Iceland Indian/Antananarivo Indian/Chagos Indian/Christmas Indian/Cocos Indian/Comoro Indian/Kerguelen Indian/Mahe Indian/Maldives Indian/Mauritius Indian/Mayotte Indian/Reunion Iran Israel Jamaica Japan Kwajalein Libya MET MST MST7MDT Mexico/BajaNorte Mexico/BajaSur Mexico/General NZ NZ-CHAT Navajo PRC PST8PDT Pacific/Apia Pacific/Auckland Pacific/Bougainville Pacific/Chatham Pacific/Chuuk Pacific/Easter Pacific/Efate Pacific/Enderbury Pacific/Fakaofo Pacific/Fiji Pacific/Funafuti Pacific/Galapagos Pacific/Gambier Pacific/Guadalcanal Pacific/Guam Pacific/Honolulu Pacific/Johnston Pacific/Kiritimati Pacific/Kosrae Pacific/Kwajalein Pacific/Majuro Pacific/Marquesas Pacific/Midway Pacific/Nauru Pacific/Niue Pacific/Norfolk Pacific/Noumea Pacific/Pago_Pago Pacific/Palau Pacific/Pitcairn Pacific/Pohnpei Pacific/Ponape Pacific/Port_Moresby Pacific/Rarotonga Pacific/Saipan Pacific/Samoa Pacific/Tahiti Pacific/Tarawa Pacific/Tongatapu Pacific/Truk Pacific/Wake Pacific/Wallis Pacific/Yap Poland Portugal ROC ROK Singapore Turkey UCT US/Alaska US/Aleutian US/Arizona US/Central US/East-Indiana US/Eastern US/Hawaii US/Indiana-Starke US/Michigan US/Mountain US/Pacific US/Samoa UTC Universal W-SU WET Zulu
Remarks
- When changed settings of "Automatic date & time", "Automatic time zone", "Use 24-hour format" or "NTP server address" by intent while displaying menu screen of "Date & Time", is not reflect screen display immediately. It's reflected after open the menu again.
- For "Select time zone", the behavior when an Intent
with incorrect value is thrown depends on the Android
version as follows:
- Android5.1.1
The default global time (GMT) is set as the time zone. - Android 6.0 and later
The set time zone is maintained.(IlleagalException is thrown)
Disable Display Rotation
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that Screen Rotation to be disabled. The model supporting this feature has a flag, and Screen Rotation is disabled when this flag is set to "false".
Functions
Function prototype
Define the following Key as system property.
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.display_rotation | true/false | Enable / disable display rotation function | true: enable false: disable |
Chainging the value of the system property can control enabling/disabling Screen Rotation.
After the value of the system property is changed to false, the screen rotation function is disabled and show default(portrait|landscape) screen immediately.
When the system property is change, setting changes are applied without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value> (Type String)
intent-key | system-property-value | Description |
---|---|---|
DISPLAY_ROTATION | true: enable false: disable |
Enable / disable Screen Rotation function. |
Sample source code
This sample source code shows how to disable Screen Rotation function.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.putExtra("SYS_PROP_KEY", " DISPLAY_ROTATION");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --es SYS_PROP_KEY DISPLAY_ROTATION --es SYS_PROP_VALUE false
Remarks
- Even If Screen Rotation function is disabled by this API, another application can enable the screen rotation enabled by the using setRequestedOrientation() API pioritily.
- If you do not add system properties, the behavior is the same as setting "true".
- Also, any applications with the platform signiture can directly enable/disable Screen Rotation. See below for modification examples.
Example)
SystemProperties.set(persist.sys.display_rotation, "false");
APN settings
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to add and select an APN by intent. Note that changing and deleting APNs are not supported.
Functions
Function prototype
- APN setting function You can add an APN by sending a broadcast intent set with APN information. You can also select the added APN at the same time.
- Force APN select function Set the APN you want to connect to in advance without inserting a SIM, and connect automatically after inserting an appropriate carrier SIM. When an appropriate carrier SIM is inserted, the connection through the specified APN works immediately.
When the intent is sent, setting changes are applied without restarting the terminal.
The definition of the intent is as follows.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME,VALUE);
i.putExtra(NAME,VALUE);
i.putExtra(NAME,VALUE);
…
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_APN_SETTING
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATAS:
・in case APN Setting Function
NAME: APN setting item key
VALUE: APN setting item value (Type String)
・in case Force APN Select Function
NAME: Force APN Select item key
VALUE: Force APN Select item value (Type String)
# | APN setting item | key | value | Must/Optional | |
---|---|---|---|---|---|
1 | APN Select target | SELECT | String true : Select target false : Do not select target |
N | |
1 | APN info | APN name | NAME | String | Y |
2 | APN | APN | String | Y | |
3 | MCC | MCC | Integer (3 digits) | Y | |
4 | MNC | MNC | Integer (2 or 3 digits) | Y | |
5 | proxy | PROXY | String | N | |
6 | proxy port | PORT | Integer | N | |
7 | user name | USER | String | N | |
8 | password | PASSWORD | String | N | |
9 | server | SERVER | String | N | |
10 | MMSC | MMSC | String | N | |
11 | MMS proxy | MMS_PROXY | String | N | |
12 | MMS port | MMS_PORT | String | N | |
13 | Authentication type | AUTH_TYPE | Integer (0-3) 0 : NONE 1 : PAP 2 : CHAP 3 : PAP or CHAP |
N | |
14 | APN type | TYPE | String *, default, mms, supl, dun, hipri, fota, ims, cbs, ia, emergency To set multiple values, separate them with ":". |
N | |
15 | APN protocol | PROTOCOL | String IP : IPv4 IPV6 : IPv6 IPV4V6 : IPv4/IPv6 |
N | |
16 | APN roaming protocol | ROAMING_PROTOCOL | String IP : IPv4 IPV6 : IPv6 IPV4V6 : IPv4/IPv6 |
N | |
17 | Bearer | BEARER | String LTE, HSPAP, HSPA, HSUPA, HSDPA, UMTS, EDGE, GPRS, eHRPD, EVDO_B, EVDO_A, EVDO_0, 1xRTT, IS95B, IS95A Android M To set multiple values, separate them with ":". Android L Cannot set multiple values. |
N | |
18 | MVNO Type | MVNO_TYPE | String spn : SPN imsi : IMSI gid : GID |
N | |
19 | MVNO Match data | MVNO_MATCH_DATA | string | N | |
20 | DNS Auto | AUTO_DNS | Integer (0-1) 1 : enable 0 : disable |
N | |
21 | DNS1 | DNS1 | String(IP address format) | N | |
22 | DNS2 | DNS2 | String(IP address format) | N |
# | Force APN Select item | key | value |
---|---|---|---|
1 | force select apn | FORCE_SELECT_APN | String (APN name) To set multiple values, separate them with ":" |
2 | Clear "force select apn" | FORCE_SELECT_APN_CLEAR | true (or any character except empty string) |
Sample source code
The following code is a sample to add new APNs and select APNs.// On a component that inherits Context, such as Activity
// In case APN Setting, Mandatory info set , and APN Select target = true.
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_APN_SETTING");
i.putExtra("SELECT", "true");
i.putExtra("NAME", "TEST1");
i.putExtra("APN", "test.com");
i.putExtra("MCC", "440");
i.putExtra("MNC", "51");
sendBroadcast(i);
// In case Force APN Select.
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_APN_SETTING");
i.putExtra("FORCE_SELECT_APN", "mopera-net","au-net");
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
//In case APN Setting, Mandatory info set, and APN Select target = true
adb shell am broadcast -a panasonic.intent.action.SET_APN_SETTING --es SELECT true --es NAME TEST1 --es APN test.com --es MCC 440 --es MNC 51
//In case Force APN Select.
adb shell am broadcast -a panasonic.intent.action.SET_APN_SETTING --es FORCE_SELECT_APN mopera-net:au-net
Remarks
- Even if the added APN is set to be selected (SELECT = true), it is not selected if the MCC/MNC of the APN does not match the MCC/MNC of the SIM.
- In Android 6.x Marshmallow or later, if APN information of an existing APN is added, the old APN infromation is overwritten. (The old APN information is deleted and new APN information is added.)Therefore, it is possible to select an existing unselected APN. In Android 5.x Lollipop, if identical APN information is added, it is registered as a different APN.
- If required information is not set, APN information will not be added.
- If DNS auto information is disabled, APN information will not be added unless either DNS1 or DNS2 information is set.
- If the APN set by the forced APN selection function is selected, it is excluded from forced selection when another APN is selected via UI.
Stay awake
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature to enable/disable the stay awake function in Settings Developer option.
Functions
Function prototype
The setting of the target function can be changed by designating parameters in the broadcast intent.
When the intent is sent, setting changes are applied without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <other-setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTING
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: OTHER_SETTING_KEY
Value: <intent-key> (Type String)
Name: OTHER_SETTING_VALUE
Value: <other-setting-value> (Type String)
intent-key | other-setting-value | Description |
---|---|---|
STAY_AWAKE | true: enable false: disable |
Enable / disable stay awake. |
Sample source code
The following code is a sample to enable Stay awake.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "STAY_AWAKE");
i.putExtra("OTHER_SETTING_VALUE", "true");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY STAY_AWAKE --es OTHER_SETTING_VALUE true
Remarks
- The global system settings can be set and changed directly by using the Android Framework API. See below for modification examples.
Package Name: android.provider
Class Name: Settings.Global
Method Name: public static boolean putInt(ContentResolver cr, String name, int value);
Example)
Settings.Global.putInt(getContentResolver(),
Settings.Global.STAY_ON_WHILE_PLUGGED_IN,
BatteryManager.BATTERY_PLUGGED_AC );
Package Name: android.app.admin
Class Name: DevicePolicyManager
Method Name: public void setGlobalSetting(ComponentName admin, String setting, String value);
Example)
DevicePolicyManager.setGlobalSetting(mAdminComponentName,
Settings.Global.STAY_ON_WHILE_PLUGGED_IN,
BatteryManager.BATTERY_PLUGGED_AC);
Installation application
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ |
✓ | ✓ |
✓ |
- |
FZ-T1 | - | - | - | ✓ |
✓ |
- |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ |
- |
Introduction
The document describes the following features.
- Install an application from external or internal storage
- Uninstall an application
Functions
Function prototype
You can install/uninstall an application by using the broadcast Intent.
The application is installed/uninstalled immediately after sending the intent, without Restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <settting-value>);
i.putExtra(NAME, <destination-storage>); // option
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_APK_SETTING
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: APK_SETTING_KEY
Value: <intent-key> (Type String)
Name: APK_SETTING _VALUE
Value: <setting-value> (Type String)
Name: APK_STORAGE
Value: <destination-storage> (Type String)
intent-key | setting-value | destination-storage(option) | Description |
---|---|---|---|
INSTALL_APP | Relative file path* of application package file(String) | Specify the stoage in whitch install application is existed - sdcard: internal SD card - sdcard1: external SD card - usb1: USB storage - usb_cradle1: USB cradle storage 1 - usb_cradle2: USB cradle storage 2 - pconfig1: internal storage for /pconfig1 - pconfig2: internal storage for /pconfig2 - pconfig3: internal storage for /pconfig3 - enterprise_config: internal storage for /enterprise_config If the storage is not specified, the file specified by INSTALL_APP will be searched from the storage in the order of above list. If a storage other than the above is specified, or the application package file cannot be found, application installation is not performed. |
Install an application. |
*Detail of relative path
Place the application package file is under one of the
following paths before installation.
The relative path in intent
is from following paths.
- The internal storage : /sdcard
- The external storage : /storage/sdcard1
- USB storage : /storage/usb1
- USB cradle storage 1 : /storage/usb_cradle1
- USB cradle storage2 : /storage/usb_cradle2
- The internal storage 1 : /pconfig1
- The internal storage 2 : /pconfig2
( FZ-N1(Android 8.x Oreo / Android 9.x Pie), FZ-T1, FZ-T1, FZ-A3 has no "/pconfig2" ) - The internal storage 3 : /pconfig3
( FZ-N1, FZ-T1, FZ-L1, FZ-A3 has no "/pconfig3" ) - The internal storage : /enterprise_config
( FZ-N1(Android 5.x Lollipop / Android 6.x Marshmallow) has no "/enterprise_config" )
If there are more than one package files, the file in the foloder upper in the above list is used for installation.
Sample source code
The following code is a sample to install / uninstall appllication.// On a component that inherits Context, such as Activity
// Install APK : When not specifying APK_STORAGE
i.setAction("panasonic.intent.action.SET_APK_SETTING");
i.putExtra("APK_SETTING_KEY", "INSTALL_APP");
i.putExtra("APK_SETTING _VALUE", "relative/path/of/app.apk");
sendBroadcast(i);
// Install APK : When specifying APK_STORAGE
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_APK_SETTING");
i.putExtra("APK_SETTING_KEY", "INSTALL_APP");
i.putExtra("APK_SETTING_VALUE", "relative/path/of/app.apk");
i.putExtra("APK_STORAGE", "sdcard");
sendBroadcast(i);
// Uninstall APK
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_APK_SETTING");
i.putExtra("APK_SETTING_KEY", "UNINSTALL_APP");
i.putExtra("APK_SETTING_VALUE", "jp.co.test.apkuninstall");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
// Install APK : When not specifying APK_STORAGE
adb shell am broadcast -a panasonic.intent.action.SET_APK_SETTING --es APK_SETTING_KEY INSTALL_APP --es APK_SETTING_VALUE relative/path/of/app.apk
// Install APK : When specifying APK_STORAGE
adb shell am broadcast -a panasonic.intent.action.SET_APK_SETTING --es APK_SETTING_KEY INSTALL_APP --es APK_SETTING_VALUE relative/path/of/app.apk --es APK_STORAGE sdcard
// Uninstall APK
adb shell am broadcast -a panasonic.intent.action.SET_APK_SETTING --es APK_SETTING_KEY UNINSTALL_APP --es APK_SETTING_VALUE jp.co.test.apkuninstall
Wi-Fi settings
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the procedure for changing basic Wi-Fi Information settings and changing Wi-Fi certificate information settings and adding Wi-Fi networks using an intent.
Functions
Function prototype
By sending a broadcast intent with Wi-Fi information set, you can change basic Wi-Fi Information settings and change Wi-Fi certificate information settings and add Wi-Fi networks.
When the intent is sent, setting changes are applied without restarting the terminal.
The definition of the intent is as follows.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME,VALUE);
i.putExtra(NAME,VALUE);
i.putExtra(NAME,VALUE);
…
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_WIFI_SETTING
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATAS:
NAME: Wi-Fi setting item key
VALUE: Wi-Fi setting item value(Type String)
# | Wi-Fi setting item | key | value | Must/Optional | |
---|---|---|---|---|---|
1 | Wi-Fi settings type | CONFIG_TYPE | String BASIC : change basic Wi-Fi Information CERTIFICATE : install certificate for Wi-Fi ADDNETWORK : add Wi-Fi network |
Y | |
1 | basic Wi-Fi info | Wi-Fi status | WIFI_ON | String ON : enable OFF : disable |
N |
2 | Wi-Fi frequency band | WIFI_FREQUENCY_BAND | String AUTO : Automatic 5GHZ : 5 GHz only 2.4GHZ : 2.4 GHz only |
N | |
3 | network notification | WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON | String ON : enable OFF : disable |
N | |
4 | Keep Wi-Fi on during sleep | WIFI_SLEEP_POLICY | String ALWAYS : Always ONLY_WHEN_PLUGGED_IN : Only when plugged in NEVER : Never |
N | |
5 | Wi-Fi scan always available | WIFI_SCAN_ALWAYS_AVAILABLE | String ON : enable OFF : disable |
N | |
6 | Wi-Fi Direct device name | WIFI_DIRECT_DEVICE_NAME | String | N | |
7 | Turn on Wi-Fi automatically | WIFI_AUTO_ENABLE | String ON : enable OFF : disable * If you want to switch this on, you must set "Location" and "Wi-Fi scanning" in the settings app to ON at the same time. * This feature is only supported on the FZ-A3. |
N | |
1 | Install certificate | Certificate name | CERT_NAME | String | Y |
2 | Certificate type | CERT_TYPE | String PKCS12 : PKCS12 OTHER : other than PKCS12 |
Y | |
3 | Certificate password | CERT_PKCS_PASSWORD | String | Y | |
4 | Certificate file path | CERT_RELATIVE_PATH | String * Relative path from directly in internal SD card or external SD card or USB storage or the USB cradle storage |
Y | |
5 | Certificate encryption | INSTALL_WITH_ENCRYPTION | ENABLE : enable DISABLE : disable |
N | |
6 | Certificate user-ID type | INSTALL_UID | ID_USER : VPN and apps ID_WIFI : Wi-Fi |
N | |
7 | Screen lock check | CERT_SCREEN_LOCK_CHECK | ENABLE : enable (default) DISABLE : disable |
N | |
1 | Add networks | Network ssid | SSID | String | N |
2 | Security type | SECURITY | String NONE : None WEP : WEP WAP : WPA/WPA2 PSK EAP : 802.1x EAP |
N | |
3 | WEP password | WEP_PASSWORD | String | N | |
4 | WPA password | WPA_PASSWORD | String | N | |
5 | EAP method | EAP_METHOD | String PEAP : PEAP TLS : TLS TTLS : TTLS PWD : PWD |
N | |
6 | Phase 2 authentication | PHASE2_AUTHENTICATION | String NONE : NONE PAP : PAP MSCHAP : MSCHAP MSCHAPV2 : MSCHAPV2 GTC : GTC |
N | |
7 | CA certificate | CA_CERTIFICATE | String | N | |
8 | EAP identity | EAP_ID | String | N | |
9 | EAP anonymous identity | EAP_ANONYMOUS_ID | String | N | |
10 | EAP password | EAP_PASSWORD | String | N | |
11 | User certificate | CLIENT_CERTIFICATE | String | N | |
12 | Proxy type | PROXY | String NONE : None MANUAL : Manual AUTO: Proxy Auto-config |
N | |
13 | Proxy name | PROXY_HOSTNAME | String | N | |
14 | Proxy port | PROXY_PORT | String | N | |
15 | Bypass proxy for | PROXY_BYPASS | String | N | |
16 | Pac url | PAC_URL | String | N | |
17 | IP settings type | IP_SETTINGS | String DHCP : DHCP STATIC : STATIC |
N | |
18 | IP address | IP_ADDRESS | String xx.xx.xx.xx |
N | |
19 | IP gateway | GATEWAY | String xx.xx.xx.xx |
N | |
20 | IP network prefix length | NETWORK_PREFIX_LENGTH | String | N | |
21 | DNS 1 | DNS1 | String xx.xx.xx.xx |
N | |
22 | DNS 2 | DNS2 | String xx.xx.xx.xx |
N | |
23 | clear network settings | CLEAR_SETTING | String ENABLE : clear set networks DISABLE : Do not clear networks |
N |
Sample source code
The following code is a sample for setting Wi-Fi information.// On a component that inherits Context, such as Activity
// In case basic Wi-Fi Information set.
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_WIFI_SETTING");
i.putExtra("CONFIG_TYPE", "BASIC");
i.putExtra("WIFI_ON", "ON");
i.putExtra("WIFI_FREQUENCY_BAND", "2.4GHZ");
i.putExtra("WIFI_SLEEP_POLICY", "ALWAYS");
i.putExtra("WIFI_DIRECT_DEVICE_NAME", "test_device_name");
sendBroadcast(i);
// In case Wi-Fi certificate Information set.
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_WIFI_SETTING");
i.putExtra("CONFIG_TYPE", "CERTIFICATE");
i.putExtra("CERT_NAME", "client.cert");
i.putExtra("CERT_TYPE", "PKCS12");
i.putExtra("CERT_PKCS_PASSWORD", "cert.password");
i.putExtra("CERT_RELATIVE_PATH", "Download/client.p12");
i.putExtra("INSTALL_WITH_ENCRYPTION", "ENABLE");
i.putExtra("INSTALL_UID", "ID_WIFI");
i.putExtra("CERT_SCREEN_LOCK_CHECK", "DISABLE");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_WIFI_SETTING --es CONFIG_TYPE BASIC --es WIFI_ON ON --es WIFI_FREQUENCY_BAND 2.4GHZ --es WIFI_SLEEP_POLICY ALWAYS --es WIFI_DIRECT_DEVICE_NAME test_device_name
adb shell am broadcast -a panasonic.intent.action.SET_WIFI_SETTING --es CONFIG_TYPE CERTIFICATE --es CERT_NAME client.cert --es CERT_TYPE PKCS12 --es CERT_PKCS_PASSWORD cert.password --es CERT_RELATIVE_PATH Download/client.p12 --es INSTALL_WITH_ENCRYPTION ENABLE --es INSTALL_UID ID_WIFI --es CERT_SCREEN_LOCK_CHECK DISABLE
Remarks
- If CONFIG_TYPE is not specified, nothing will be changed or added.
- The information that you can set depends on CONFIG_TYPE. BASIC can set 6 items listed in [Wi-Fi basic info]. CERTIFICATE can set 7 items listed in [Install certificate]. ADD_NETWORK can set 23 items listed in [Add networks]. You can set only one CONFIG_TYPE and cannot set information corresponding to a different CONFIG_TYPE.
- Wi-Fi is temporarily turned on at the time of setting implementation.
- If identical network information is added, it updates the existing network information instead of being registered as a duplicate entry. To reregister with existing information, set CLEAR_SETTING with ENABLE.
- You can add a network without setting the SSID name and other keys. However, setting the information correctly is recommended because it is not the intended state.
- For example, you cannot add a network in the following
cases.
- When null character is set in SSID
- When null character is set in WPA_PASSWORD
- When EAP_METHOD is PEAP and PHASE2_AUTHENTIFICATION is PAP
- When EAP_METHOD is a value other than specified
- When PHASE2_AUTHENTIFICATION is a value other than specified
- When SECURITY is a value other than specified
- For example, you cannot install a certificate in the following cases.
- When CERT_RELATIVE_PATH is wrong
- When CERT_RELATIVE_PATH is not set
- When CERT_PKCS_PASSWORD is wrong
- When CERT_PKCS_PASSWORD is not set
- When CERT_TYPE is a value other than specified
- When CERT_NAME is not set
- If INSTALL_WITH_ENCRYPTION is ENABLE and CERT_SCREEN_LOCK_CHECK is ENABLE, you cannot install a certificate in the following cases.
- When screen lock is not set
- When the lock has not been released even once after startup
- Certificates can only be used by installed users.
- If a user other than the owner is installing a certificate, ID_WIFI cannot be specified for INSTALL_UID.
- If NETWORK_PREFIX_LENGTH is not set, 24 is set by default.
- If CERT_SCREEN_LOCK_CHECK is not set, ENABLE is set by default.
Ethernet settings
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to change the Ethernet configuration by intent.
Functions
Function prototype
Change the Ethernet configuration using a dedicated broadcast intent.
Ethernet Configuration | Ethernet | |
Ethernet Network Configuration | Ethernet Devices | |
Proxy Settings | ||
IP Settings | ||
Network priority Setting |
When the intent is sent, setting changes are applied without restarting the terminal.
The definition of the intent is as follows.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME,VALUE);
i.putExtra(NAME,VALUE);
i.putExtra(NAME,VALUE);
…
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.ETHERNET_SETTING
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATAS:
NAME: key
VALUE: value (Type String)
Ethernet Configuration(*1) | key | value | Note | ||
---|---|---|---|---|---|
Ethernet | ENABLED | true :Ethernet enabled false :Ethernet disabled |
|||
Ethernet Network Configuration(*2) | Ethernet Device | SETTING_DEVICE | String : eth0,eth1,eth2 |
||
Proxy Settings(*5) | Proxy Setting | PROXY_SETTING | 0:none 1:manual |
||
Host name | HOSTNAME | String (Can also use IPv4 address format) |
(*3) | ||
Port | PORT | integer | (*3) | ||
Bypass Proxy | BYPASS_PROXY | String (Can also use IPv4 address format) (To set multiple values, separate them with ":") |
(*3) | ||
IP Settings | IP Setting type | IP_SETTING_TYPE | 0:dhcp 1:static |
||
IP address | IP_ADDRESS | String IPv4 address format |
(*4) | ||
Gateway address | GATEWAY | String IPv4 address format |
(*4) | ||
Prefix length | PREFIX_LEN | integer | (*4) | ||
DNS1 | DNS1 | String IPv4 address format |
(*4) | ||
DNS2 | DNS2 | String IPv4 address format |
(*4) | ||
Network Priority Setting | NETWORK_PRIORITY | 0: low 1: high |
- *1 Only [Ethernet], [Ethernet Network Configuration], or [Network Priority Setting] can be set in an intent.
- *2 Any of the following in [Ethernet Network Configuration] can be set: [Ethernet Device], [Proxy Settings], or [IP Settings].
- *3 HOSTNAME and PORT are required only when PROXY_SETTING is manual. BYPASS_PROXY is optional.
- *4 IP_ADDRESS, GATWAY, PREFIX_LEN, and DNS1 are required only when IP_SETTING_TYPE is static. DNS 2 is optional.
- *5 The format check of [IP Settings] and [Proxy Settings] is the same as the UI setting. (If the check fails, the intent is discarded.)
Sample source code
The following code is a sample to configure Ethernet.// On a component that inherits Context, such as Activity
(1) In case Ethernet
Intent i = new Intent();
i.setAction("panasonic.intent.action.ETHERNET_SETTING");
i.putExtra("ENABLED", "true");
sendBroadcast(i);
(2) In case Ethernet Network Configuration
Intent i = new Intent();
i.setAction("panasonic.intent.action.ETHERNET_SETTING");
i.putExtra("SETTING_DEVICE", "eth1");
i.putExtra("PROXY_SETTING", "0");
i.putExtra("IP_SETTING_TYPE", "1");
i.putExtra("IP_ADDRESS", "192.168.1.10");
i.putExtra("GATEWAY", "192.168.1.1");
i.putExtra("PREFIX_LEN", "24");
i.putExtra("DNS1", "10.51.23.10");
sendBroadcast(i);
(3) In case Network Priority Setting
Intent i = new Intent();
i.setAction("panasonic.intent.action.ETHERNET_SETTING");
i.putExtra("NETWORK_PRIORITY", "1");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
//(1) In case Ethernet
adb shell am broadcast -a panasonic.intent.action.ETHERNET_SETTING --es ENABLED true
//(2) In case Ethernet Network Configuration
adb shell am broadcast -a panasonic.intent.action.ETHERNET_SETTING --es SETTING_DEVICE eth1 --es PROXY_SETTING 0 --es IP_SETTING_TYPE 1 --es IP_ADDRESS 192.168.1.10 --es GATEWAY 192.168.1.1 --es PREFIX_LEN 24 --es DNS1 10.51.23.10
//(3) In case Network Priority Setting
adb shell am broadcast -a panasonic.intent.action.ETHERNET_SETTING --es NETWORK_PRIORITY 1
Hide HOTSWAP,STYLUS,GLOVE,RAIN in Global Action Menu
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓(*1) | ✓(*1) | ✓(*2) | ✓(*2) | - |
FZ-T1 | - | - | - | ✓(*3) | ✓(*3) | - |
FZ-L1 | - | - | - | ✓(*3) | - | - |
FZ-A3 | - | - | - | - | ✓(*4) | - |
*1:
Battery Warm Swap
Stylus pen
Glove touch
Rain sensing touch
*2:
Battery Warm Swap
Stylus pen
Glove touch
Rain sensing touch
Restart
*3:
Battery Warm Swap
Restart
Touch operation mode
*4:
Restart
Introduction
This section describes the feature that following menu in Global Action menu to be hidden.
- Battery Warm Swap
Stylus pen
Glove touch
Rain sensing touch
Restart
Touch operation mode
Functions
Function prototype
Define the following Key as system property.
Supported by FZ-N1 (Android 5.x Lollipop, Android 6.x Marshmallow)
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.hotswap_gbl_action | true/false | Switch the show/hide of "Battery Warm Swap" menu. | true: show false: hide |
persist.sys.stylus_gbl_action | true/false | Switch the show/hide of "Stylus pen" menu. | true: show false: hide |
persist.sys.glove_gbl_action | true/false | Switch the show/hide of "Glove touch" menu. | true: show false: hide |
persist.sys.rain_gbl_action | true/false | Switch the show/hide of "Rain sensing touch" menu. | true: show false: hide |
Supported by FZ-N1 (Android 8.x Oreo, Android 9.x Pie)
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.hotswap_gbl_action | true/false | Switch the show/hide of "Battery Warm Swap" menu. | true: show false: hide |
persist.sys.stylus_gbl_action | true/false | Switch the show/hide of "Stylus pen" menu. | true: show false: hide |
persist.sys.glove_gbl_action | true/false | Switch the show/hide of "Glove touch" menu. | true: show false: hide |
persist.sys.rain_gbl_action | true/false | Switch the show/hide of "Rain sensing touch" menu. | true: show false: hide |
persist.sys.restart_gbl_action | true/false | Switch the show/hide of "Restart" menu. | true: show false: hide |
Supported by FZ-T1
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.hotswap_gbl_action | true/false | Switch the show/hide of "Battery Warm Swap" menu. | true: show false: hide |
persist.sys.restart_gbl_action | true/false | Switch the show/hide of "Restrat" menu. | true: show false: hide |
persist.sys.tom_gbl_action | true/false | Switch the show/hide of "Touch operation mode" menu. | true: show false: hide |
Supported by FZ-A3
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.restart_gbl_action | true/false | Switch the show/hide of "Restart" menu. | true: show false: hide |
Chainging the value of the system property can control enabling/disabling each menu.
When the system property is changed, setting changes are applied without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value> (Type String)
intent-key | system property Value | Description |
---|---|---|
HOTSWAP_GLOBAL_ACTION | true: show false: hide |
Switch the show/hide of "Battery Warm Swap" menu. |
STYLUS_GLOBAL_ACTION | true: show false: hide |
Switch the show/hide of "Stylus pen" menu. |
GLOVE_GLOBAL_ACTION | true: show false: hide |
Switch the show/hide of "Glove touch" menu. |
RAIN_GLOBAL_ACTION | true: show false: hide |
Switch the show/hide of "Rain sensing touch" menu. |
RESTART_GLOBAL_ACTION | true: show false: hide |
Switch the show/hide of "Restart" menu. |
TOUCH_MODE_GLOBAL_ACTION | true: show false: hide |
Switch the show/hide of "Touch operation mode" menu. |
Sample source code
This Sample source code shows how to hide The following code is a sample for hide "Battery Warm Swap" menu in Global Action.
// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.putExtra("SYS_PROP_KEY", " HOTSWAP_GLOBAL_ACTION");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --es SYS_PROP_KEY HOTSWAP_GLOBAL_ACTION --es SYS_PROP_VALUE false
Remarks
- If you do not add system properties, the behavior is the same as setting "true".
- Also, any application with the platform signature can disable/enable each menu in Global Action directly by using the Android Framework API. Refer to following example.
Example)
SystemProperties.set(persist.sys.hotswap_gbl_action, "false");
USB connection protocol setting
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the procedure to set the connection protocol when the terminal connect to a PC via USB.
When the terminal connects to a PC via USB, the default connection protocol is "charging". If you always want to connect with "mtp", you have to change the connection protocol from Notification every time. This feature eliminates such effort.
Functions
Function prototype
The setting of the target function can be changed by designating parameters in the broadcast intent.
When this feature is enabled, the terminal connects to PC via the last USB connected protocol. The default protocol is a value set by intent. Thereafter, when the connection protocol is changed by Notification, the changed protocol is taken over. If this feature is disabled, USB connection will be the original action of the Android terminal.
# | Feature | Contents |
---|---|---|
1 | USB | USB connection protocol setting |
When the intent is sent, the change contents are reflected without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <other-setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTING
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: OTHER_SETTING_KEY
Value: <intent-key> (Type String)
Name: OTHER_SETTING_VALUE
Value: <other-setting-value> (Type String)
intent-key | other-setting-Value | Description |
---|---|---|
USB_CONNECTION_SETTING | "0":disable : Original action of the Android OS. "1":charging :Just charge the device. "2":mtp:Transfar files to Windows or Mac. "3":ptp:Transfar photos to Windows or Mac. |
Change "USB connection protocol setting" |
Sample source code
The following code is a sample to set the USB connection protocol to mtp.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "USB_CONNECTION_SETTING");
i.putExtra("OTHER_SETTING_VALUE", "2");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY USB_CONNECTION_SETTING --es OTHER_SETTING_VALUE 2
Remarks
- If you do not set this feature, the behavior is the same as "0":disable.
- If a value other than "0" to "3" is entered, that Intent is ignored.
Disable Factory Reset
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This document shows the function to restrict the Factory reset function. A flag is provided, and the Factory reset function is disabled when the flag is set to "false".
Functions
Function prototype
Define the following Key as system property.
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.initialize_device | true/false | Enable / disable FactoryReset function | true: enable false: disable |
Changing the value of the system property can control enabling / disabling the FactoryReset function.
Immediately after the value of the system property is changed to false, rebootWipeUserData, which is the factory reset API, is suppressed, and the transition of the initialization item of the setting application data is invalidated.
As shown below, system properties can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value> (Type String)
intent-key | system property Value | Description |
---|---|---|
INITIALIZE_DEVICE | true: enable false: disable |
Enable / disable FactoryReset function. |
Sample source code
The following code is a sample for disabling FactoryReset.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.putExtra("SYS_PROP_KEY", " INITIALIZE_DEVICE ");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --es SYS_PROP_KEY INITIALIZE_DEVICE --es SYS_PROP_VALUE false
Remarks
- If you do not add system properties, the behavior is the same as setting "true" for the property.
- The value of the system property can be set and changed directly by using the Android Framework API for the application to which the platform signature is attached. See below for modification examples.
Package Name: android.os
Class Name: SystemProperties
Method Name: public static void set(String key, String value);
Example)
SystemProperties.set(persist.sys.initialize_device, "false");
Disable Settings, Battery icon in QuickSettings
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | - | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that enable/disable settings icon and battery icon in quick settings. The model supporting this feature has a flag, settings icon and battery icon are disabled when this flag is set to "false".
Functions
Function prototype
Define the following Key as system property.
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.qs_sb_settings_icon | true/false | Enable / disable Settings icon in Quick settings. |
true: enable false: disable |
persist.sys.qs_sb_battery_icon | true/false | Enable / disable Battery icon in Quick settings. |
true: enable false: disable |
Changing the value of the system property can control enabling / disabling each icon.
When the system property is changed, the changes of settings are effective when the Quick settings is redraw.
As shown below, system properties can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value> (Type String)
intent-key | system property Value | Description |
---|---|---|
QS_STATUS_BAR_SETTINGS_ICON | true: enable false: disable |
Enable / disable Settings icon in Quick settings. |
QS_STATUS_BAR_BATTERY_ICON | true: enable false: disable |
Enable / disable Battery icon in Quick settings. |
Sample source code
The following code is a sample for disabling Settings icon in Quick settings.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.putExtra("SYS_PROP_KEY", "QS_STATUS_BAR_SETTINGS_ICON");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --es SYS_PROP_KEY QS_STATUS_BAR_SETTINGS_ICON --es SYS_PROP_VALUE false
Remarks
- If you do not add system properties, the behavior is the same as setting "true" for the property.
- The value of the system property can be set and changed directly by using the Android Framework API for the application to which the platform signature is attached. See below for modification examples.
Package Name: android.os
Class Name: SystemProperties
Method Name: public static void set(String key, String value);
Example)
SystemProperties.set(persist.sys.persist.sys.qs_sb_settings_icon, "false");
Disable Headphone
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature to disable headset plug. The model supporting this feature has a flag, and headset plug is disabled when this flag is set to "false".
When the headset plug is disabled, the speaker off function while using the headset is unusable.
Functions
Function prototype
Define the following Key as system property.
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.headset_plug | true/false | Enable / disable Headset plug. | true: enable false: disable |
Changing the value of the system property can control enabling / disabling Headset plug.
Also, the state of the headset plug is changed in real time when enabling or disabling intent is sent while a headset is connected.
The restrictions are as follows.
- Changing sound output by third party applications is possible.
As shown below, system properties can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value> (Type String)
intent-key | system property Value | Description |
---|---|---|
HEADSET_PLUG | true: enable false: disable |
Enable / disable headset plug. |
Sample source code
The following code is a sample to disable headset plug.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.putExtra("SYS_PROP_KEY", "HEADSET_PLUG");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --es SYS_PROP_KEY HEADSET_PLUG --es SYS_PROP_VALUE false
Remarks
- If you do not add system properties, the behavior is the same as setting "true" for the property.
- The value of the system property can be set and changed directly by using the Android Framework API for the application to which the platform signature is attached. See below for modification examples.
Package Name: android.os
Class Name: SystemProperties
Method Name: public static void set(String key, String value);
Example)
SystemProperties.set(persist.sys.headset_plug, "false");
MDMSetting hide package
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that any application to be hidden (deactivate).
Functions
Function prototype
Application deactivation / activation
User can deactivate or activate any application by using the broadcast intent. After sending the intent, setting changes are applied without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <setting-key>);
i.putExtra(NAME, <setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_MDM_SETTING
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SETTING_KEY
Value: <setting-key> (Type String)
Name: SETTING_VALUE
Value: <setting-value> (Type String)
setting-key | setting-value | Description |
---|---|---|
HIDE_PACKAGE | application-name | Application to deactivate |
DISCLOSE_PACKAGE | application-name | Application to activate |
Sample source code
This Sample Source Code shows how to deactivate of "youtube" application.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_MDM_SETTING");
i.putExtra("SETTING_KEY", "HIDE_PACKAGE");
i.putExtra("SETTING_VALUE", "com.google.android.youtube");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_MDM_SETTING --es SETTING_KEY HIDE_PACKAGE --es SETTING_VALUE com.google.android.youtube
Information sharing among any MDM clients
This function (deactivation or activation of any applications) is shared between any MDM clients.
However, if the following system property is set, information sharing between any MDM clients is deactivated.
Define the following keys as system properties.
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.devmgmt.all.hide | true/false | Enable/disable the information sharing between any MDM clients. | true:enable false:disable |
When this value is set as "false", the information does not be shared between any MDM clients. If the this system property has not been set yet, it operates as true . This system property value can be set by using the Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <setting-key>);
i.putExtra(NAME, <setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <setting-key> (Type String)
Name: SYS_PROP_VALUE
Value: <setting-value> (Type String)
setting-key | setting-value | Description |
---|---|---|
DEVMGMT_HIDE_ALL | true : To share information false : Do not share information |
Change the value of system property |
Sample source code
This Sample Source Code shows how to enable sharing information.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.putExtra("SYS_PROP_KEY", "DEVMGMT_HIDE_ALL");
i.putExtra("SYS_PROP_VALUE", "true");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --es SYS_PROP_KEY DEVMGMT_HIDE_ALL --es SYS_PROP_VALUE true
Deactivate DeviceAdministrators
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that Device administrators app can be enabled or disabled.
Functions
Function prototype
You can activate or deactivate each device admin app by the broadcast intent
When the intent is sent, setting changes are applied without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <othersetting--value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTING
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: OTHER_SETTING_KEY
Value: <intent-key> (Type String)
Name: OTHER_SETTING _VALUE
Value: <other-setting-value> (Type String)
intent-key | other-setting-value | Description |
---|---|---|
SET_ACTIVE_DEVICE_ADMIN | Component name (package name / class name) | Activate device admin app |
REMOVE_ACTIVE_DEVICE_ADMIN | Component name (package name / class name) | Deactivate device admin app. |
Sample source code
This Sample source code shows how to activate "com.example.package.name/MyDeviceAdminReceiver".// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY ", "SET_ACTIVE_DEVICE_ADMIN");
i.putExtra("OTHER_SETTING _VALUE ", "com.example.package.name/MyDeviceAdminReceiver");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY SET_ACTIVE_DEVICE_ADMIN --es OTHER_SETTING_VALUE com.example.package.name/MyDeviceAdminReceiver
Global http proxy
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to enable/disable the global http proxy by intent.
Functions
Function prototype
Global proxy is enabled or disabled by Global Http Proxy settings in a broadcast intent. Global proxy can be set in two ways: manual or auto.
After sending the intent, setting changes are applied without restarting the terminal
The definition of the intent is as follows.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <global-proxy-type>);
i.putExtra(NAME, <host>);
i.putExtra(NAME, <port>);
i.putExtra(NAME, <exclusion-list>);
i.putExtra(NAME, <pac-url>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_GLOBAL_PROXY_SETTING
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: GLOBAL_PROXY_TYPE
Value: <global-proxy-type> (Type String)
Name: GLOBAL_PROXY_HOST
Value: <host> (Type String)
Name: GLOBAL_PROXY_PORT
Value: <port> (Type Integer)
Name: GLOBAL_PROXY_EXCLUSION
Value: <exclusion-list> (Type String)
Name: GLOBAL_PROXY_PAC_URL
Value: <pac-url> (Type String)
Intent parameters by GlobalProxyType are shown below.
value-name | value | necessity | description |
---|---|---|---|
global-proxy-type | NONE,MANUAL,AUTO | Mandatory | Proxy setting type If NONE is specified, proxy settings are deleted. For MANUAL and AUTO, specify the proxy settings. |
host | [MANUAL] Mandatory [AUTO] - |
Proxy host name | |
port | 0 - 65535 | [MANUAL] Mandatory [AUTO] Option |
Proxy port number If specified as AUTO, you can set the local port as necessary. |
exclusionlist | [MANUAL] Option [AUTO] - |
URL that is not to be excluded from the proxy. Optional. |
|
pac-url | [MANUAL] - [AUTO] Mandatory |
Automatic configuration (PAC) URL |
Sample source code
This sample source code shows how to set the global proxy.// On a component that inherits Context, such as Activity
// Disable Global Http Proxy
Intent i = new Intent();
i.setAction("panasonic.intent.action.GLOBAL_PROXY_SETTING");
i.putExtra("GLOBAL_PROXY_TYPE", "NONE");
sendBroadcast(i);
// Enable Global Http Proxy (Manual settings)
Intent i = new Intent();
i.setAction("panasonic.intent.action.GLOBAL_PROXY_SETTING");
i.putExtra("GLOBAL_PROXY_TYPE", "MANUAL");
i.putExtra("GLOBAL_PROXY_HOST", "192.168.1.1");
i.putExtra("GLOBAL_PROXY_PORT", "8080");
i.putExtra("GLOBAL_PROXY_EXCLUSION", "192.168.35.1");
sendBroadcast(i);
// Enable Global Http Proxy (Auto settings)
Intent i = new Intent();
i.setAction("panasonic.intent.action.GLOBAL_PROXY_SETTING");
i.putExtra("GLOBAL_PROXY_TYPE", "AUTO");
i.putExtra("GLOBAL_PROXY_PAC_URL", "http://192.168.1.1/proxy.pac");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
// Disable Global Http Proxy
adb shell am broadcast -a panasonic.intent.action.GLOBAL_PROXY_SETTING --es GLOBAL_PROXY_TYPE NONE
// Enable Global Http Proxy (Manual settings)
adb shell am broadcast -a panasonic.intent.action.GLOBAL_PROXY_SETTING --es GLOBAL_PROXY_TYPE MANUAL --es GLOBAL_PROXY_HOST 192.168.1.1 --es GLOBAL_PROXY_PORT 8080 --es GLOBAL_PROXY_EXCLUSION 192.168.35.1
// Enable Global Http Proxy (Auto settings)
adb shell am broadcast -a panasonic.intent.action.GLOBAL_PROXY_SETTING --es GLOBAL_PROXY_TYPE AUTO --es GLOBAL_PROXY_PAC_URL http://192.168.1.1/proxy.pac
Remarks
- When the global proxy is auto, the URL of the PAC file of the global proxy is recorded, but the setting information is not saved in the terminal. Therefore, when the power is turned off, after establishing the next network, access the URL of the PAC file and reconfigure the global proxy. There is a time lag between network establishment and global proxy reconfiguration, so do not go through the global proxy when network connection is in progress.
- Since the terminal sets up the above global proxy again in the background, user operation is unnecessary. Even if the user is running a network connection app such as a browser, access is changed via proxy immediately after setting the global proxy. Restarting the app is unnecessary.
- When the global proxy is auto, the terminal accesses the PAC file of the global proxy only when the state of the network changes. Changes in the state of the network include activation, airplane mode cancellation, user switching. Therefore, after the content of the PAC file changes, it will be reflected on the terminal after a change in the network state of the terminal.
- If information in the intent is insufficient or when a value outside the range is set, the intent will not work. If GLOBAL_PROXY_TYPE is not set, GLOBAL_PROXY_HOST and PORT cannot be set for MANUAL, and GLOBAL_PROXY_PAC_URL cannot be set for AUTO.
Advanced NFC Settings Automation Feature
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature to adjust advanced NFC settings on the device.
Advanced NFC settings are additional settings implemented in order to increase read speed of NFC cards. By adjusting these settings, you can limit detectable NFC card types and/or usable NFC features such as P2P.
This function is used to change the settings of current user at once.
Functions
Function prototype
Using advanced NFC settings, you can change readable NFC card type, P2P mode, CE mode, NDEF skipping and baud rate.
The advanced NFC settings can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
Bundle b = new Bundle();
b.putString("NFC_TYPE_A", <enabled>);
b.putString("NFC_TYPE_B", <enabled>);
b.putString("NFC_TYPE_F", <enabled>);
b.putString("NFC_TYPE_V", <enabled>);
i.putExtras(b);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_ADV_NFC
EXTRA_DATA:
Name: <intent-key> (Type String)
Value: <setting-value> (Type String)
intent-key | setting-value | Note |
---|---|---|
NFC_TYPE_A | ON:enable OFF:disable |
Required key |
NFC_TYPE_B | ON:enable OFF:disable |
Required key |
NFC_TYPE_F | ON:enable OFF:disable |
Required key |
NFC_TYPE_V | ON:enable OFF:disable |
Required key |
P2P_MODE | ON:enable OFF:disable |
Optional key |
CE_MODE | ON:enable OFF:disable |
Optional key |
SKIP_NDEF | ON:enable OFF:disable |
Optional key |
BAUD_RATE | (String) 0:106Kbps 1:212Kbps 2:424Kbps |
Optional key |
Sample source code
This Sample source code shows how to change NFC advanced settings.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_ADV_NFC");
Bundle b = new Bundle();
b.putString("NFC_TYPE_A", "ON");
b.putString("NFC_TYPE_B", "ON");
b.putString("NFC_TYPE_F", "ON");
b.putString("NFC_TYPE_V", "ON");
b.putString("P2P_MODE", "ON");
b.putString("BAUD_RATE", "0");
i.putExtras(b);
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_ADV_NFC --es NFC_TYPE_A ON --es NFC_TYPE_B ON --es NFC_TYPE_F ON --es NFC_TYPE_V ON --es P2P_MODE ON --es BAUD_RATE 0
Remarks
- NFC Card-Type extras of Intent are required. And at least one of NFC Card-Type should be ON. If there are any insufficient extras or all Card-types are OFF, the intent is assumed as invalid.
- The setting Other than NFC Card-Type extras are optional.
- NFC Type A setting ties with NFC Type Kovio.
- Settings are applied only to current user.
External Device Settings
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to change External Device Setting by using Intent API.
Functions
Function prototype
You can change the External Device Setting by using the broadcast intent.
External Device | Gadget | Gadget |
USB selective suspend | ||
Power supply | ||
Cradle | Suspend when docked in cradle | |
USB selective suspend | ||
Device without DC input | ||
Power supply |
When the intent is sent, setting changes are applied without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <other-setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTING
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: OTHER_SETTING_KEY
Value: <intent-key> (Type String)
Name: OTHER_SETTING_VALUE
Value: <other-segtting-value> (Type String)
intent-key | other-setting-value | Description |
---|---|---|
GADGET_ENABLED | 0:disable 1:enable |
Enable gadget Settings ※Not Supported for FZ-A3 |
GADGET_USB_SUSPEND | 0:disable 1:enable |
Enable USB suspend when gadget device is
connected ※Not Supported for FZ-A3 |
GADGET_POWER_SUPPLY | 0:disable 1:enable |
Supply power to gadget device when
system is sleeping ※Not Supported for FZ-A3 |
CRADLE_SUSPEND | 0:disable 1:enable |
Enable suspend when docked in cradle |
CRADLE_USB_SUSPEND | 0:disable 1:enable |
Enable USB suspend when docked in cradle |
CRADLE_DEVICE_WITHOUT_DCIN | 0:disable 1:enable |
Enable cradle settings ※Not Supported for FZ-A3 |
CRADLE_POWER_SUPPLY | 0:disable 1:enable |
Supply power to device without DC input
when system is sleeping ※Not Supported for FZ-A3 |
Sample source code
This Sample source code shows how to disable gadget Settings.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "GADGET_ENABLED");
i.putExtra("OTHER_SETTING_VALUE", "0");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY GADGET_ENABLED --es OTHER_SETTING_VALUE 0
Remarks
- When gadget function is disabled by device management, this setting can't be changed. If this setting set "disable", "Power supply" will also be disabled at the same time.
- If "Gadget" is disabled, "USB selective suspend" and "Power supply" can’t be changed.
- When Cradle function is disabled by device management, this setting can’t be changed. If this setting set "disable", "Power supply" will also be disabled at the same time.
- If "Device without DC input" is disabled, "Power supply" can’t be changed.
SIM selection
Supported Models (*Available for dual SIM slot supported models only)
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | ✓ (*)US,Canada Models only | ✓ | ✓ | - |
FZ-T1 | - | - | - | - | - | - |
FZ-L1 | - | - | - | - | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the intent API specifications for SIM selection settings.
This section is for users who want to create an app that can change the active SIM slot and preferred network mode*.
- *US and Canada models only.
-
FZ-N1 Android 6.x supports 2 network modes.
-
UMTS/GSM/LTE : For the case of AT&T SIMs, this mode is automatically selected.
CDMA2000/UMTS/GSM/LTE : For the case of Verizon SIMs,this mode is automatically selected.
-
FZ-N1 Android 8.x or later supports 2 network modes.
-
International : For the case of AT&T SIMs, this mode is automatically selected.
VZW : For the case of Verizon SIMs, this mode is automatically selected.
-
FZ-A3 Android 9.x or later support 3 network modes.
-
ATT: For the case of AT&T SIMs, this mode is automatically selected.
VZW: For the case of Verizon SIMs, this mode is automatically selected.
Generic: For SIMs other than AT&T and Verizon , this mode is automatically selected.
Intent API
The "SIM selection" API provides the following two functions.
- SIM selection (Slot1 or Slot2)
- Preferred network mode selection (optional)
You can change the active SIM slot and (if required) the preferred network mode by sending a broadcast intent. This section describes the specifications and sample code for this API.
SIM Selection
Function prototype
int SIMSlot = 1 [ or 2];
int Pref_network_mode = 1 [ or 2 or 3];
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra(EXTRA_DATA1, SIMSlot);
i.putExtra(EXTRA_DATA2, Pref_network_mode); (Optional parameter for Preferred network mode setting )
Parameters
Name | Type | Value |
---|---|---|
ACTION | String | "com.panasonic.mobile.simslotsettings.ACTIVE_SIM_SLOT_CHANGE" |
EXTRA_DATA1 | String | "com.panasonic.mobile.simslotsettings.SIM_SLOT_NUM" |
SIMSlot | int | 1
to change active SIM slot to SIM Slot1 2 to change active SIM slot to SIM Slot2 |
EXTRA_DATA2 [optional] |
String | "com.panasonic.mobile.simslotsettings.NETWORK_MODE_SETTING" |
Pref_network_mode [optional] |
int | 1
to change the preferred network mode to (UMTS/GSM/LTE, International, ATT) 2 to change the preferred network mode to (CDMA2000/UMTS/GSM/LTE, VZW) 3 to change the preferred network mode to (Generic) |
Sample source code
This sample source code shows how to change the SIM slot.Intent i = new Intent();
// Case1. Current device status:
selected SIM Slot is Slot1, inserted SIM on Slot2 too and selected UMTS/GSM/LTE mode
// Change the only SIM Slot to Slot2 (no change for Preferred network mode)
int SIMSlot = 2;
i.setAction("com.panasonic.mobile.simslotsettings.ACTIVE_SIM_SLOT_CHANGE");
i.putExtra("com.panasonic.mobile.simslotsettings.SIM_SLOT_NUM", SIMSlot);
sendBroadcast(i);
// Case2. Current device status:
selected SIM Slot is Slot1, inserted SIM on Slot2 too and selected UMTS/GSM/LTE mode
// Change SIM Slot to Slot2 and Preferred network mode to CDMA2000/UMTS/GSM/LTE
int SIMSlot = 2;
int Pref_network_mode = 2;
i.setAction("com.panasonic.mobile.simslotsettings.ACTIVE_SIM_SLOT_CHANGE");
i.putExtra("com.panasonic.mobile.simslotsettings.SIM_SLOT_NUM", SIMSlot);
i.putExtra("com.panasonic.mobile.simslotsettings.NETWORK_MODE_SETTING", Pref_network_mode);
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
//Change the only SIM Slot to Slot2 (no change for Preferred network mode)
adb shell am broadcast -a com.panasonic.mobile.simslotsettings.ACTIVE_SIM_SLOT_CHANGE --ei com.panasonic.mobile.simslotsettings.SIM_SLOT_NUM 2
// Change SIM Slot to Slot2 and Preferred network mode to CDMA2000/UMTS/GSM/LTE
adb shell am broadcast -a com.panasonic.mobile.simslotsettings.ACTIVE_SIM_SLOT_CHANGE --ei com.panasonic.mobile.simslotsettings.SIM_SLOT_NUM 2 --ei com.panasonic.mobile.simslotsettings.NETWORK_MODE_SETTING 2
Conditions for the SIM selection intent
The intent will be enabled when:
- SIMs are inserted into both SIM slots (Slot 1 and 2), and EXTRA_DATA1 (SIMSlot) is different from the current active SIM slot
NOTE: If the SIM slot is changed (SIM selection API performed correctly) by this intent, an automatic system reboot is triggered on the FZ-N1 Android 6.x model.
Checking the result of SIM selection
The currently selected SIM slot and preferred network mode are displayed on the status bar with the following icons.
After selecting a SIM slot by intent, these icons are updated based on the updated status.
: SIM Slot "1" is selected
: SIM Slot "2" is selected
: Preferred network mode "UMTS/GSM/LTE" is selected
: Preferred network mode "CDMA2000/UMTS/GSM/LTE" is selected
: Preferred network mode "International" is selected
: Preferred network mode "VZW" is selected
: Preferred network mode "ATT" is selected
: Preferred network mode "VZW" is selected
: Preferred network mode "Generic" is selected
Disable bluetooth discovery
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that Bluetooth Discovery to be disabled in the device. A flag is provided to enable / disable bluetooth discovery. Bluetooth Discovery is turned off when this flag is set to "false".
Functions
Function prototype
Define the following Key as system property.
system property | Description | Note | |
---|---|---|---|
Key | Value | ||
persist.sys.bt_discovery | true/false | Enable/disable bluetooth discovery | true: enable false: disable |
Changing the value of the system property can control enabling/disabling Bluetooth Discovery
When the system property is changed, setting changes are applied after restarting the terminal.
As shown below, system property can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTY
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
- Name: SYS_PROP_KEY
- Value: <intent-key>(Type String)
- Name: SYS_PROP_VALUE
- Value: <system-property-value>(Type String)
intent-key | system-property-value | Description |
---|---|---|
BT_DISCOVERY_ENABLED | true:enable false:disable |
Enable / disable bluetooth discovery |
Sample source code
This Sample source code shows how to disable bluetooth discovery.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.putExtra("SYS_PROP_KEY", "BT_DISCOVERY_ENABLED");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --es SYS_PROP_KEY BT_DISCOVERY_ENABLED --es SYS_PROP_VALUE false
Remarks
- If you do not add system properties, the behavior is the same as setting "true" for the property.
- The value of the system property can be set and changed directly by using the Android Framework API in a system application which is signed with the platform signature. See below for modification examples.
package:android.os
class:SystemProperties
method:public static void set(String key, String value)
Example) SystemProperties.set("persist.sys.bt_discovery", "false");
OEM unlocking
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that enable OEM Unlocking in the developer option of the device via broadcast Intent. If this setting is enabled, the bootloader is allowed to be unlocked and device protection features will not work.
Functions
Function prototype
Change the OEM Unlocking setting by the broadcast intent.
When the intent is sent, setting changes are applied without restarting the terminal.
As shown below, this setting can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTING
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
- Name: OTHER_SETTING_KEY
- Value: <intent-key> (Type String)
- Name: OTHER_SETTING_VALUE
- Value: <setting-value> (Type String)
intent-key | setting-value | Description |
---|---|---|
OEM_UNLOCKING | true:enable false:disable |
Enable / disable OEM Unlocking |
Sample source code
This Sample source code shows how to enable OEM Unlocking.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "OEM_UNLOCKING");
i.putExtra("OTHER_SETTING_VALUE", "true");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY OEM_UNLOCKING --es OTHER_SETTING_VALUE true
Remarks
This settings can be set and changed directly by using the Android Framework API in the system application which is signed with the platform signature. See below for modification examples.
package:android.service.persistentdata
class:PersistentDataBlockManager
method:public void setOemUnlockEnabled(boolean enabled);
Example)
PersistentDataBlockManager manager = (PersistentDataBlockManager)
context.getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE);
manager.setOemUnlockEnabled(true);
Change IME
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that change IME app enabled/disabled via broadcast Intent.
Functions
Function prototype
Change default IME and set IME enabled/disabled by designating the setting target function and the setting contents in the broadcast intent.
When the intent is sent, setting changes are applied without restarting the terminal.
As shown below, this setting can be set and changed via Intent.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTING
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
- Name: OTHER_SETTING_KEY
- Value: <intent-key> (Type String)
- Name: OTHER_SETTING_VALUE
- Value: <setting-value> (Type String)
intent-key | setting-value | Description |
---|---|---|
IME_SETTING | IME package name. | Change to use the IME application specified by the package name. |
Sample source code
This Sample source code shows how to change to use "com.android.inputmethod.latin".// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "IME_SETTING");
i.putExtra("OTHER_SETTING_VALUE", "com.android.inputmethod.latin");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY IME_SETTING --es OTHER_SETTING_VALUE com.android.inputmethod.latin
Copy file
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
The document describes how to copy a file or folder from external/internal storage to a specified path by using the broadcast intent API.
Functions
Function prototype
You can copy a file or folder from external/internal storage to a specified path by using the broadcast intent API.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <source-file>);
i.putExtra(NAME, <destination-storage>);
i.putExtra(NAME, <destination-directory>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.COPY_FILE_SETTING
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
- Name: FILE_SETTING_KEY
- Value: <intent-key> (Type String)
- Name: SRC_PATH
- Value: <source-file> (Type String)
- Name: DEST_STORAGE (option)
- Value: <destination-storage> (Type String)
- Name: DEST_DIR
- Value: <destination-directory> (Type String)
EXTRA_DATA Name | EXTRA_DATA Value |
---|---|
intrent-key | "COPY_FILE" |
source-file |
Source file name or folder name to be copied. It should be a relative path from one of the following locations (Storage List): [Storage List] ・The internal SD card /sdcard ・The external SD card /storage/sdcard1 ・USB storage /storage/usb1 ・USB cradle storage 1 /storage/usb_cradle1 ・USB cradle storage 2 /storage/usb_cradle2 ・The internal storage 1 /pconfig1 ・The internal storage 2 /pconfig2 ・The internal storage 3 /pconfig3 *FZ-N1(Android 5.x Lollipop) has no /pconfig3 Store the copy source file or folder under one of the above paths before sending intent. Empty file cannot be copied. If the same name files exist more than one, the first file found in the Storage List must be copied. (/sdcard -> /storage/sdcard1 -> /storage/usb1 -> …) |
destination-storage(option) | Specify the copy destination storage with one of the following values. "sdcard": the internal SD card point to /sdcard "pconfig1": the internal storage point to /pconfig1 "pconfig2": the internal storage point to /pconfig2 "pconfig3": the internal storage point to /pconfig3 *FZ-N1(Android 5.x Lollipop) has no pconfig3 If this parameter is not specified, the internal SD card is used. |
destination-directory | Relative path of the copy destination folder. It is a relative path designation from the destination storage specified by the <destination-storage>. This path is automatically created if it does not exist. |
Sample source code
This Sample source code shows how to copy file.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.COPY_FILE_SETTING");
i.putExtra("FILE_SETTING_KEY", "COPY_FILE");
i.putExtra("SRC_PATH", "relative/path/of/sample.xml");
i.putExtra("DEST_STORAGE", "pconfig1");
i.putExtra("DEST_DIR", "relative/test/path");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.COPY_FILE_SETTING --es FILE_SETTING_KEY COPY_FILE --es SRC_PATH relative/path/of/sample.xml --es DEST_STORAGE pconfig1 --es DEST_DIR relative/test/path
Download file
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
The document describes the feature that download a file by sending broadcast intent. The downloaded file can be saved in the storage, reflect the file to device settings (Kitting) or install on device.
Functions
Function prototype
You can download a file by designating the URL with the broadcast intent.
When the intent is sent, the file will be downloaded without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <download-url>);
i.putExtra(NAME, <destination-storage>); // option
i.putExtra(NAME, <destination-file-path>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.DOWNLOAD_FILE_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
- Name: FILE_SETTING_KEY
- Value: <intent-key> (Type String)
- Name: SRC_URL
- Value: <download-url> (Type String)
- Name: DEST_STORAGE (option)
- Value: <destination-storage> (Type String)
- Name: DEST_FILE_PATH
- Value: <destination-file-path> (Type String)
intent-key |
"IMPORT_URL" It download the file from the URL and execute kitting automatically. If the extension of the downloaded file is ".db.enc", then use "settings.db.enc" as the file name, otherwise use "settings.db". (The files for kitting ("settings.db.enc" and "setting.db") must have been created based on the kitting specifications. "DOWNLOAD_URL" It download the file from the URL and save it to the file determined by <destination-storage> and <destination-file-path>. "INSTALL_URL" It download the application package file from the URL and perform install automatically. |
download-url | HTTP/HTTPS URL to download. It usually refers to the URL of settings.db, settings.db.enc or application package file. |
destination-storage(option) | Specify Download destination storage. "sdcard": the internal SD card : /sdcard "pconfig1": the internal storage : /pconfig1 "pconfig2": the internal storage : /pconfig2 "pconfig3": the internal storage : /pconfig3 "enterprise_config": the internal storage : /enterprise_config If this parameter is not specified, the internal SD card is used. This parameter is used only when <intent-key> is "DOWNLOAD_URL". |
destination-file-path | Relative path of the saving destination file (a file name including directory).
It is a relative path from the destination storage specified by the <destination-storage>. You must create this destination path before sending the intent. This parameter is mandatory only when <intent-key> is "DOWNLOAD_URL". |
Sample source code
This Sample source code shows how to download file.// On a component that inherits Context, such as Activity
Intent i = new Intent();
// A sample for downloding the "sample-data.db.enc " file and saving it as "/pconfig1/settings.db.enc"
i.setAction("panasonic.intent.action.DOWNLOAD_FILE_SETTING");
i.putExtra("FILE_SETTING_KEY", "DOWNLOAD_URL");
i.putExtra("SRC_URL", "http://my.dummy.domain/kitting/sample-data.db.enc");
i.putExtra("DEST_STORAGE", "pconfig1");
i.putExtra("DEST_FILE_PATH", "settings.db.enc");
sendBroadcast(i);
// Another sample for downloding the "sample-data.db.enc " file and execute kitting automatically
i.setAction("panasonic.intent.action.DOWNLOAD_FILE_SETTING");
i.putExtra("FILE_SETTING_KEY", "IMPORT_URL");
i.putExtra("SRC_URL", "http://my.dummy.domain/kitting/sample-data.db.enc");
sendBroadcast(i);
// Another sample for downloding the "sample.apk " file and install automatically
i.setAction("panasonic.intent.action.DOWNLOAD_FILE_SETTING");
i.putExtra("FILE_SETTING_KEY", "INSTALL_URL");
i.putExtra("SRC_URL", "http://my.dummy.domain/install/sample.apk");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
// A sample for downloding the "sample-data.db.enc " file and saving it as "/pconfig1/settings.db.enc"
adb shell am broadcast -a panasonic.intent.action.DOWNLOAD_FILE_SETTING --es FILE_SETTING_KEY DOWNLOAD_URL --es SRC_URL http://my.dummy.domain/kitting/sample-data.db.enc --es DEST_STORAGE pconfig1 --es DEST_FILE_PATH settings.db.enc
// Another sample for downloding the "sample-data.db.enc " file and execute kitting automatically
adb shell am broadcast -a panasonic.intent.action.DOWNLOAD_FILE_SETTING --es FILE_SETTING_KEY IMPORT_URL --es SRC_URL http://my.dummy.domain/kitting/sample-data.db.enc
// Another sample for downloding the "sample.apk " file and install automatically
adb shell am broadcast -a panasonic.intent.action.DOWNLOAD_FILE_SETTING --es FILE_SETTING_KEY INSTALL_URL --es SRC_URL http://my.dummy.domain/install/sample/apk
Change wallpaper setting
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that changing wallpaper setting by sending broadcast intent.
Functions
Function prototype
You can change the wallpaper by the broadcast intent.
When the intent is sent, the wallpaper is changed without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <wallpaper-storage>); // option
i.putExtra(NAME, <wallpaper-file-path>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.WALLPAPER_SETTING
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
- Name: WALLPAPER_SETTING_KEY
- Value: <intent-key> (Type String)
- Name: WALLPAPER_STORAGE (option)
- Value: <wallpaper-storage> (Type String)
- Name: WALLPAPER_FILE_PATH
- Value: <wallpaper-file-path> (Type String)
intent-key | setting-value |
---|---|
WALLPAPER_SETTING_KEY | WALLPAPER_SETTING |
WALLPAPER_STORAGE | Specify destination storage for the wallpaper file to be stored. "sdcard":the internal SD card (/sdcard) "sdcard1":the external SD card (/storage/sdcard1) "usb1":the USB storage : /storage/usb1 "usb_cradle1":the USB cradle storage 1 (/storage/usb_cradle1) "usb_cradle2":the USB cradle storage 2 (/storage/usb_cradle2) "pconfig1":the internal storage (/pconfig1) "pconfig2":the internal storage (/pconfig2) "pconfig3":the internal storage (/pconfig3) *FZ-N1(Android 5.x Lollipop) has no pconfig3 |
WALLPAPER_FILE_PATH | Relative path of the saving destination file (a file name including directory). It is a relative path from the destination storage specified by the <wallpaper-storage>. You must create this destination path before sending the intent. This parameter is mandatory only when <intent-key> is "WALLPAPER_SETTING ". |
Sample source code
This Sample source code shows how to change the setting of wallpaper.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.WALLPAPER_SETTING");
i.putExtra("WALLPAPER_SETTING_KEY", "WALLPAPER_SETTING");
i.putExtra("WALLPAPER_STORAGE", "sdcard");
i.putExtra("WALLPAPER_FILE_PATH", "test-pic.png"); //Relative path (~/sdcard/)test-pic.png
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.WALLPAPER_SETTING --es WALLPAPER_SETTING_KEY WALLPAPER_SETTING --es WALLPAPER_STORAGE sdcard --es WALLPAPER_FILE_PATH test-pic.png
Change security setting
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that "Show passwords" and "Automattically lock" in Secure settings to be changed.
[ Show passwords ]
The Switch setting to display characters briefly when you type lock password.
[Automattically lock ]
Time setting until screen lock is started after terminal sleep.
Functions
Function prototype
Application can change "Show passwords" and "Automattically lock" settings by using the Intent API.
When the setting is changed, setting changes are applied without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTING
FLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
- Name: OTHER_SETTING_KEY
- Value: <intent-key> (Type String)
- Name: OTHER_SETTING_VALUE
- Value: <setting-value> (Type String)
intent-key | setting-value | Description |
---|---|---|
TEXT_SHOW_PASSWORD | 0 : disable, 1 : enable | Enable / disable "Show passwords" setting. |
AUTOMATICALLY_LOCK | 0:Immediately 1:5 seconds 2:15 seconds 3:30 seconds 4:1 minute 5 2 minutes 6:5 minutes 7:10 minutes 8:30 minutes |
Select the time setting of "Automattically lock" setting. |
Sample source code
This Sample source code shows- how to disable "Show passwords" setting.
- how to set "30 scounds" to "Automattically lock" setting.
// On a component that inherits Context, such as Activity
// Disable "Show passwords" setting
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "TEXT_SHOW_PASSWORD");
i.putExtra("OTHER_SETTING_VALUE", "0");
sendBroadcast(i);
// Set "30 scounds" to "Automattically lock" setting
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "AUTOMATICALLY_LOCK");
i.putExtra("OTHER_SETTING_VALUE", "3"); // "3" : 30 seconds
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
// Disable "Show passwords" setting
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY TEXT_SHOW_PASSWORD --es OTHER_SETTING_VALUE 0
// Set "30 scounds" to "Automattically lock" setting
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY AUTOMATICALLY_LOCK --es OTHER_SETTING_VALUE 3
Mobile networks
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to change mobile network settings by intent.
Functions
Function prototype
You can change mobile network settings by broadcast intent.
The values that can be set for NETWORK_TYPE differ depending on the model.
When the intent is sent, the change contents are reflected without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <data-roaming>); // option
i.putExtra(NAME, <network-type>); // option
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.MOBILE_NETWORKS_SETTINGSFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
- Name: MOBILE_NETWORKS_SETTINGS_KEY
- Value: <intent-key> (Type String)
- Name: DATA_ROAMING
- Value: <data-roaming> (Type String)
- Name: NETWORK_TYPE
- Value: <network-type> (Type String)
KEY | VALUE |
---|---|
MOBILE_NETWORKS_KEY | MOBILE_NETWORKS_SETTINGS |
DATA_ROAMING | A setting to connect to data services when roaming. "0" : disable "1" : enable |
NETWORK_TYPE | 0 : Change the Preferred network mode to GSM only 1 : Change the Preferred network mode to WCDMA only 2 : Change the Preferred network mode to GSM/WCDMA 3 : Change the Preferred network mode to CDMA/EvDo auto 4 : Change the Preferred network mode to CDMA + LTE/EvDo 5 : Change the Preferred network mode to GSM/WCDMA/LTE 6 : Change the Preferred network mode to Global 7 : Change the Preferred network mode to LTE 8 : Change the Preferred network mode to LTE/WCDMA |
FZ-T1/FZ-L1
Preferred network type | Model | |||||
---|---|---|---|---|---|---|
DCM | KDDI | ATT | VZW | EU | CN | |
LTE/WCDMA | ✓ | ✓ | - | ✓ | ✓ | ✓ |
LTE | - | - | - | ✓ | ✓ | ✓ |
GSM/WCDMA/LTE | - | - | - | - | ✓ | ✓ |
GSM/WCDMAauto | - | - | - | - | ✓ | ✓ |
WCDMA only | ✓ | ✓ | - | - | ✓ | ✓ |
GSM only | - | - | - | - | ✓ | ✓ |
FZ-N1 (Oreo and later)
Preferred network type | Model | ||||||
---|---|---|---|---|---|---|---|
DCM | KDDI | ATT | VZW | EU | CN | SB | |
LTE/WCDMA | ✓ | ✓ | - | ✓ | ✓ | ✓ | ✓ |
LTE | - | - | - | ✓ | ✓ | ✓ | - |
GSM/WCDMA/LTE | - | - | - | - | ✓ | ✓ | - |
GSM/WCDMAauto | - | - | - | - | ✓ | ✓ | - |
WCDMA only | ✓ | ✓ | - | - | ✓ | ✓ | ✓ |
GSM only | - | - | - | - | ✓ | ✓ | - |
FZ-A3
Preferred network type | Model | |||||
---|---|---|---|---|---|---|
DCM | KDDI | ATT | VZW | EU | CN | |
LTE/WCDMA | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
LTE | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
WCDMA only | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Sample source code
This sample source code shows how to change mobile network settings.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.MOBILE_NETWORKS_SETTINGS");
i.putExtra("MOBILE_NETWORKS_SETTINGS_KEY", "MOBILE_NETWORKS_SETTINGS");
i.putExtra("DATA_ROAMING", "1");
i.putExtra("NETWORK_TYPE", "1");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.MOBILE_NETWORKS_SETTINGS --es MOBILE_NETWORKS_SETTING_KEY MOBILE_NETWORKS_SETTINGS --es DATA_ROAMING 1 --es NETWORK_TYPE 1
Change sounds and notifications settings
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that change sounds and notifications settings to be used in the device.
Functions
Function prototype
You can change sounds and notifications settings by the broadcast intent.
When the intent is sent, setting changes are applied without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
- Name: OTHER_SETTING_KEY
- Value: <intent-key> (Type String)
- Name: OTHER_SETTING_VALUE
- Value: <setting-value> (Type String)
intent-key | setting-value | Description |
---|---|---|
VIBRATE_WHEN_RINGING | 0 : disable 1 : enable |
Change the setting of ‘Also vibrate for calls’ * For FZ-N1/T1, Cellular model support this function, but Wi-Fi model does not spport this function. * FZ-L1/A3(non vibrator model) does not support this function. |
LOCKSCREEN_SOUNDS_ENABLED | 0 : disable 1 : enable |
Change the setting of ‘Screen locking sounds’ |
NOISE_SUPPRESSION_ENABLED | 0 : disable 1 : enable |
Change the setting of ‘Noise suppression during voice call’ |
SPKOFF_WITH_HS_ENABLED | 0 : disable 1 : enable |
Change the setting of ‘Speaker off during earphone use’ |
LOCK_SCREEN_NOTIFICATIONS | 0 : Don't show notifications at all 1 : Hide sensitive notification content 2 : Show all notification content |
Change the setting of ‘Speaker off during earphone use’ |
Sample source code
This Sample source code shows how to disable setting of ‘Also vibrate for calls’.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "VIBRATE_WHEN_RINGING");
i.putExtra("OTHER_SETTING_VALUE", "0");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY VIBRATE_WHEN_RINGING --es OTHER_SETTING_VALUE 0
Change smallest width settings
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to change [Smallest Width] setting via broadcast Intent.
Functions
Function prototype
You can change [Smallest Width] setting in Settings Developer options by the broadcast intent.
When the intent is sent, setting changes are applied without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
- Name: OTHER_SETTING_KEY
- Value: <intent-key> (Type String)
- Name: OTHER_SETTING_VALUE
- Value: <setting-value> (Type String)
intent-key | setting-value | Description |
---|---|---|
SMALLEST_WIDTH | Number | MIN – MAX range is different within each device. |
Sample source code
This Sample source code shows how to change [Smallest Width].// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "SMALLEST_WIDTH");
i.putExtra("OTHER_SETTING_VALUE", "320");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY SMALLEST_WIDTH --es OTHER_SETTING_VALUE 320
Change USB debug settings
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to changes [USB Debugging] settings in Settings Developer options by the broadcast Intent.
Functions
Function prototype
You can change [USB Debugging] setting in Settings Developer options by the broadcast intent.
When the intent is sent, setting changes are applied without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
- Name: OTHER_SETTING_KEY
- Value: <intent-key> (Type String)
- Name: OTHER_SETTING_VALUE
- Value: <setting-value> (Type String)
intent-key | setting-value | Description |
---|---|---|
USB_DEBUG | Number | "1" – ON "0" – OFF Other – Ignored. |
Sample source code
This Sample source code shows how to enable [USB Debugging].// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "USB_DEBUG");
i.putExtra("OTHER_SETTING_VALUE", "1");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
//adb command cannot be used if USB debug is disabled
//therefore you cannot change this setting "0" to "1" by using adb command.
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY USB_DEBUG --es OTHER_SETTING_VALUE 0
Add "Loud mode" in voice speaker
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that audio speaker Loud Mode to be enabled.
The model supporting this feature has a flag, and audio speaker Loud Mode is enabled when this flag is set to "true".
In the speaker phone call, the volume may be felt small depending on the usage environment.
To solve this issue, the mode to raise the whole volume is prepaired. Here, the original volume mode of Android is called "Normal Mode", and the mode to raise the whole volume is called "Loud Mode".
Functions
Function prototype
You can change the volume mode setting. Chainging this setting can control enabling/disabling Loud Mode.
After the mode setting is changed by broalcast Intent, the mode will be maintained even after the device power is turned off.
Target function
# | Feature | Contents |
---|---|---|
1 | Volume | Volume Mode change setting |
When Intent is thrown during a speaker call, enabling/disabling the "Loud mode" will take effect when switching to the speaker call again.
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTINGEXTRA_DATA:
- Name: OTHER_SETTING_KEY
- Value: <intent-key> (Type String)
- Name: OTHER_SETTING_VALUE
- Value: <other-setting-value> (Type String)
intent-key | other-setting-Value | Description |
---|---|---|
SET_SPK_LOUD_MODE | "0":disable : Normal Mode. "1":enable : Loud Mode. |
Change "Volume Mode". |
Sample source code
This Sample source code shows how to change to Loud Mode.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "SET_SPK_LOUD_MODE");
i.putExtra("OTHER_SETTING_VALUE", "1");
sendBroadcast(i);
//When sending Intent by command (e.g.,Change to "Loud Mode")
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING –es OTHER_SETTING_KEY SET_SPK_LOUD_MODE --es OTHER_SETTING_VALUE 1
Remarks
If you do not set this feature, the behavior is the same as "0":disable.If a value other than "0" or "1" is wrongly specified, that Intent will be ignored.
AnimationScaleSettings
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that Animation Scale settings to be changed.
Functions
Function prototype
You can change the Animation Scale setting by using the broadcast intent.
Target Setting
DeveloperOptions | Window animation scale |
Transition animation scale | |
Animator duration scale |
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <other-setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
- Name: OTHER_SETTING_KEY
- Value: <intent-key> (Type String)
- Name: OTHER_SETTING_VALUE
- Value: <system-property-value> (Type String)
intent-key | other-setting-value | Description |
---|---|---|
WINDOW_ANIMATION_SCALE | 0 : Animation off 1 : Animation scale .5x 2 : Animation scale 1x 3 : Animation scale 1.5x 4 : Animation scale 2x 5 : Animation scale 5x 6 : Animation scale 10x |
Change Window animation scale setting. |
TRANSITION_ANIMATION_SCALE | 0 : Animation off 1 : Animation scale .5x 2 : Animation scale 1x 3 : Animation scale 1.5x 4 : Animation scale 2x 5 : Animation scale 5x 6 : Animation scale 10x |
Change Transition animation scale setting. |
ANIMATION_DURATION_SCALE | 0 : Animation off 1 : Animation scale .5x 2 : Animation scale 1x 3 : Animation scale 1.5x 4 : Animation scale 2x 5 : Animation scale 5x 6 : Animation scale 10x |
Change Animator duration scale setting |
Sample source code
This Sample Source code shows Change Window animation scale setting OFF.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "WINDOW_ANIMATION_SCALE");
i.putExtra("OTHER_SETTING_VALUE", "0");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY WINDOW_ANIMATION_SCALE --es OTHER_SETTING_VALUE 0
Remarks
The animation scale setting can be changed even if the developer options menu is not displayed in Settings app.Wi-Fi roaming threshold
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | ✓ | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to change Wi-Fi roaming threshold settings.
Intent API specification
The API for Wi-Fi roaming threshold allows you to change the roaming threshold for RSSI.
The API provides 5 threshold values to be selected: -78dBm(default), -74dBm, -70dBm, "Chip Default value*1" and "Lowest Threshold value*2".
*1 Note: Refer to the table below regarding the "Chip Default value".
Model | Chip Default value [dBm] |
---|---|
FZ-N1(Android 5.x and 6.x), T1, L1 | -82 |
FZ-N1(Android 8.x or later), A3 | -76 |
Apps can control the Wi-Fi roaming threshold by intent. This section describes the API specifications and sample code.
Function prototype
int config_num = 0 [ or 1 or 2 or 3 or 4];
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra(EXTRA_DATA, config_num);
Parameters
Name | Type | Value |
---|---|---|
ACTION | String | "com.panasonic.toughpad.android.wifi.api. ACTION_WIFI_DRV_CONFIG" |
EXTRA_DATA | String | "com.panasonic.toughpad.android.wifi.api. EXTRA_WIFI_DRV_CONFIG_NO" |
config_num | int | 0 : Threshold -78dBm (default) 1 : Threshold -74dBm 2 : Threshold -70dBm 3 : Threshold "Chip Default value" 4 : Lowest Threshold value (-96dBm) (*2) [Note] Other values are set to -78 dBm (default). |
Sample source code
This sample source code is shows how to set roaming threshold.Intent i = new Intent();
// Set roaming threshold -74dBm
int config_num = 1;
i.setAction("com.panasonic.toughpad.android.wifi.api.ACTION_WIFI_DRV_CONFIG");
i.putExtra("com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_DRV_CONFIG_NO", config_num);
sendBroadcast(i);
// Revert roaming threshold to default -78dBm
int config_num = 0;
i.setAction("com.panasonic.toughpad.android.wifi.api.ACTION_WIFI_DRV_CONFIG");
i.putExtra("com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_DRV_CONFIG_NO", config_num);
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
// Set roaming threshold -74dBm
adb shell am broadcast -a com.panasonic.toughpad.android.wifi.api.ACTION_WIFI_DRV_CONFIG --ei com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_DRV_CONFIG_NO 1
// Revert roaming threshold to default -78dBm
adb shell am broadcast -a com.panasonic.toughpad.android.wifi.api.ACTION_WIFI_DRV_CONFIG --ei com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_DRV_CONFIG_NO 0
Conditions for value updated by intent to take effect
The value specified by this intent will be applied only after a power on cycle.The value specified by this intent is initialized only after a factory reset. It is saved after powering ON with Wi-Fi disabled or updating firmware over-the-air.
Change external interface
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | - | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that External Interface connection status to be changed.
Functions
To get the External Interface connection status, to switch the port, and to initialize status. These features can be controlled using dedicated broadcast intent.
No | Function Name | Function explanation |
---|---|---|
1 | GetExternalIfStatus | To return enabled(connected) port (microUSB(or Type-C), cradle, gadget) |
2 | EnableExternalIf | To enable external port based on application’s request and to disable other external port which is not application’s request |
3 | InitializeExternalIf | To clear current setting(enable/disable) which configured by EnableExternalIf. |
APIs defined in this document configure external interface using system properties.
Function prototype1
GetExternalIfStatus
This API returns enabled external port (Micro-USB (or Type-C) or Cradle or Gadget) by the following steps.1) Send "Execute" broadcast Intent
2) Receive "Response" broadcast Intent
3) Extract information from received Intent
Parameters 1
FZ-N1(Android 8.x Oreo, Android 9.x Pie) and FZ-T1Name | Type | Value |
---|---|---|
EXECUTE_ACTION | String | "com.panasonic.mobile.extifstatus.GET_EXTERNALIF_STATUS" |
RESPONSE_ACTION | String | "com.panasonic.mobile.extifstatus.GET_EXTERNALIF_STATUS_RES" |
EXTRA_DATA | String | "EXTERNALIF_STATUS" |
int | The following values is extracted from received Intent. 0 : All Null (microUSB/gadget/cradle) 1 : microUSB Enable 2 : gadget Enable 3 : microUSB&gadget Enable ※Only for FZ-N1(Android 8.x Oreo, Android 9.x Pie) 4 : cradle Enable 5 : reserved 6 : gadget&cradle Enable ※Only for FZ-N1(Android 8.x Oreo, Android 9.x Pie) 7 : reserved 99 : All Disable (microUSB/gadget/cradle) |
FZ-A3
Name | Type | Value |
---|---|---|
EXECUTE_ACTION | String | "com.panasonic.mobile.extifstatus.GET_EXTERNALIF_STATUS" |
RESPONSE_ACTION | String | "com.panasonic.mobile.extifstatus.GET_EXTERNALIF_STATUS_RES" |
EXTRA_DATA | String | "EXTERNALIF_STATUS" |
int | The following values is extracted from received Intent. 0 : All Null (USB typeC/USB typeA/Gadget1/Gadget2/Cradle) 1 : USB typeC Enable 2 : Gadget(Gadget1 and Gadget2) Enable 3 : reserved 4 : Cradle Enable 5 : USB typeA Enable 6 : reserved 7 : reserved 99 : All Disable (USB typeC/USB typeA/Gadget1/Gadget2/Cradle) |
Sample source code 1
This Sample Source Code shows how to get enabled external port (Micro-USB (or Type-C) or Cradle or Gadget).// 1. Send "Probe" broadcast Intent
Intent i = new Intent();
i.setAction(EXECUTE_ACTION); // Definition of EXECUTE_ACTION is shown in "Parameters"
sendBroadcast(i);
BroadcastReceiver receiver = new BroadcastReceiver() {
// 2. Receive "Response" broadcast Intent
@Override
public void onReceive(Context context, Intent intent) {
// 3. Extract status from received Intent
// Definition of EXTRA_DATA is shown in "Parameters"
Int EnabledPort = intent.getIntExtra(EXTRA_DATA, -1);
}
};
// Definition of RESPONSE_ACTION is shown in "Parameters"
IntentFilter filter = new IntentFilter();
filter.addAction(RESPONSE_ACTION);
registerReceiver(receiver, filter);
Function prototype2
EnableExternalIf
This API enables requested external interface and disable non-requested external interface by the following steps.1) Send "Execute" broadcast Intent with requested external interface
2) Receive "Response" broadcast Intent
Parameters 2
FZ-N1(Android 8.x Oreo, Android 9.x Pie) and FZ-T1Name | Type | Value |
---|---|---|
EXECUTE_ACTION | String | "com.panasonic.mobile.extifstatus.ENABLE_EXTERNALIF" |
RESPONSE_ACTION | String | "com.panasonic.mobile.extifstatus.ENABLE_EXTERNALIF_RES" |
EXTRA_DATA | String | "ENABLE_EXTERNALIF" |
int | The following values are set to sending Intent. 1 : microUSB 2 : gadget 3 : microUSB&gadget ※Only for FZ-N1(Android 8.x Oreo, Android 9.x Pie) 4 : cradle 5 : reserved 6 : gadget&cradle ※Only for FZ-N1(Android 8.x Oreo, Android 9.x Pie) 7 : reserved 99 : Disable All (microUSB/gadget/cradle) |
FZ-A3
Name | Type | Value |
---|---|---|
EXECUTE_ACTION | String | "com.panasonic.mobile.extifstatus.ENABLE_EXTERNALIF" |
RESPONSE_ACTION | String | "com.panasonic.mobile.extifstatus.ENABLE_EXTERNALIF_RES" |
EXTRA_DATA | String | "ENABLE_EXTERNALIF" |
int | The following values are set to sending Intent. 1 : USB typeC 2 : Gadget(Gadget1 and Gadget2) 3 : reserved 4 : Cradle 5 : USB typeA 6 : reserved 7 : reserved 99 : Disable All (USB typeC/USB typeA/Gadget1/Gadget2/Cradle) |
Sample source code 2
This Sample Source Code shows how to enables requested external interface and disable non-requested external interface.// 1. Send "Probe" broadcast Intent
Intent i = new Intent();
i.setAction(EXECUTE_ACTION); // Definition of EXECUTE_ACTION is shown in "Parameters"
i.putExtra(EXTRA_DATA, 1 ); // Example : microUSB
sendBroadcast(i);
BroadcastReceiver receiver = new BroadcastReceiver() {
// 2. Receive "Response" broadcast Intent
@Override
public void onReceive(Context context, Intent intent) {
// Add operation when receiving Response
}
};
// Definition of RESPONSE_ACTION is shown in "Parameters"
IntentFilter filter = new IntentFilter();
filter.addAction(RESPONSE_ACTION);
registerReceiver(receiver, filter);
Function prototype3
InitializeExternalIf
This API clears current setting (enable/disable) which configured by "2. EnableExternalIf" by the following steps.1) Send "Execute" broadcast Intent
(Ex. Cleared status for FZ-T1/L1 and FZ-N1(Oreo))
External connector name | Current status | Cleared status | |
---|---|---|---|
Micro-USB | Enable | ----> | Null |
Cradle IF | Enable | ----> | Null |
Gadget IF | Disable | ----> | Null |
External connector name | Current status | Cleared status | |
---|---|---|---|
USB typeC | Enable | ----> | Null |
USB typeA | Disable | ----> | Null |
Cradle | Enable | ----> | Null |
Gadget1 | Disable | ----> | Null |
Gadget2 | Enable | ----> | Null |
Parameters 3
Name | Type | Value |
---|---|---|
ACTION | String | "com.panasonic.mobile.extifstatus.INITIALZE_EXTERNALIF" |
Sample source code 3
This Sample Source Code shows how to clear current setting (enable/disable) which configured by “2. EnableExternalIf”.// 1. Send "Probe" broadcast Intent
Intent i = new Intent();
i.setAction(ACTION); // Definition of EXECUTE_ACTION is shown in "Parameters"
sendBroadcast(i);
Flashlight for car mount model
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | - | - | - | - |
FZ-T1 | - | - | - | - | - | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | - | - |
Introduction
This section describes the feature that Flashlight setting to be set (on / off) by using broadcast Intent API.
This function for only car mount model of FZ-L1.
Functions
User can set Flashlight setting for car mount model by using broadcast Intent API.
No | Function name | Function explanation |
---|---|---|
1 | SetFlashlight | To turn on /off Flashlight. |
Parameters
Name | Type | Value |
---|---|---|
EXECUTE_ACTION | String | "com.panasonic.mobile.extifstatus.SET_FLASHLIGHT" |
RESPONSE_ACTION | String | "com.panasonic.mobile.extifstatus.SET_FLASHLIGHT_RES" |
EXTRA_DATA | String | "FLASHLIGHT" |
Boolean | The following values are set to sending Intent. true : ON false : OFF (default) |
Sample source code
This Sample Source Code shows how to Set the Flashlight on /off using a dedicated broadcast intent.// 1. Send "Probe" broadcast Intent
Intent i = new Intent();
i.setAction("com.panasonic.mobile.extifstatus.SET_FLASHLIGHT");
i.putExtra("FLASHLIGHT", true); // Example : ON
sendBroadcast(i);
BroadcastReceiver receiver = new BroadcastReceiver() {
// 2. Receive "Response" broadcast Intent
@Override
public void onReceive(Context context, Intent intent) {
// Add operation when receiving Response
}
};
// Definition of RESPONSE_ACTION is shown in "Parameters"
IntentFilter filter = new IntentFilter();
filter.addAction("com.panasonic.mobile.extifstatus.SET_FLASHLIGHT_RES");
registerReceiver(receiver, filter);
Device management password
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | ✓ | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to add, change or delete password for the Device Managemnet application by sending Intent.
Functions
Function prototype
You can Create/Change/Delete the password of the Device Management application by using the broadcast intent.
When the password setting is changed, setting changes are applied without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(Key, <intent-value>); // set old password
i.putExtra(Key, <intent-value>); // set new password
sendBroadcast(i);
The relationship between each operation (Create / Change / Delete) and each password setting (old / new) is as follows.
operation | old password | new password |
---|---|---|
Create | null | any value |
Change | set value | any value |
Delete | set value | null |
Parameters
ACTION: panasonic.intent.action.SET_MDM_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES
EXTRA_DATA:
- Key: MDM_OLDPASSWORD
- Value: <setting-value> (Type String)
- Key: MDM_NEWPASSWORD
- Value: <setting-value> (Type String)
setting-key | setting-Value | Description |
---|---|---|
MDM_OLDPASSWORD | Old Password setted in the DeviceManagement application. | Old Password setted in the DeviceManagement application. When no password is setted, specify null. |
MDM_NEWPASSWORD | New Password remote set for Device Management application. | New Password remote set for Device Management application. To delete the password, specify null. |
Sample source code
This Sample Source Code shows how to set new password for Device Management application.ex)Set "00000000" as new password.// On a component that inherits Context, such as Activity, do the following.
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_MDM_SETTING");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("MDM_NEWPASSWORD", "00000000");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
//Create password "00000000"
adb shell am broadcast -a panasonic.intent.action.SET_MDM_SETTING --include-stopped-packages --es MDM_NEWPASSWORD 00000000
//Change password from "00000000" to "11111111"
adb shell am broadcast -a panasonic.intent.action.SET_MDM_SETTING --include-stopped-packages --es MDM_NEWPASSWORD 11111111 --es MDM_OLDPASSWORD 00000000
//Delete password "11111111"
adb shell am broadcast -a panasonic.intent.action.SET_MDM_SETTING --include-stopped-packages --es MDM_OLDPASSWORD 11111111
Remarks
・Password characters cannot be sett longer than 32 characters, and empty characters cannot be set.・Only Device Owner can set password.
net.hostname
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | ✓ | ✓ | - | - |
FZ-T1 | - | - | - | - | - | - |
FZ-L1 | - | - | - | - | - | - |
FZ-A3 | - | - | - | - | - | - |
Introduction
This section describes how to change "net.hostname" setting by using broadcast Intent API.
The value of "net.hostname" is used for registration the terminal's network hostname.
Functions
Function prototype
You can change "net.hostname" setting by using the broadcast intent.
When this setting is changed, setting changes are applied without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <intent-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES
EXTRA_DATA:
- Name: OTHER_SETTING_KEY
- Value: <setting-key> (Type String)
- Name: OTHER_SETTING_VALUE
- Value: <setting-value> (Type String)
setting-key | setting-value | Description |
---|---|---|
NET_HOSTNAME | string: specified net.hostname character | Set net.hostname as specified character. To return to default, set empty character. |
Sample source code
This Sample source code shows how to change hostname as "test.hostname".// On a component that inherits Context, such as Activity, do the following.
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("OTHER_SETTING_KEY", "NET_HOSTNAME");
i.putExtra("OTHER_SETTING_VALUE", "test.hostname");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --include-stopped-packages --es OTHER_SETTING_KEY NET_HOSTNAME --es OTHER_SETTING_VALUE test.hostname
Remarks
・If settings-value is null do nothing.・The maximum number of characters that can be set is 91 characters. If it exceeds 91 characters, it is an error and nothing will be done.
Date and time setting
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | - | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that Date and Time setting to be set.
Functions
Function prototype
You can set the date and time setting by using the broadcasted Intent.
This setting will be changed immediately when receive the intent without reboot.
This function does not work when automatic date & time setting is enabled.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <intent-value>);
sendBroadcast(i);
Pramaters
ACTION: panasonic.intent.action.SET_OTHER_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES
EXTRA_DATA:
- Name: OTHER_SETTING_KEY
- Value: <setting-key> (Type String)
- Name: OTHER_SETTING_VALUE
- Value: <setting-value> (Type String)
setting-key | setting-value | Description |
---|---|---|
DATE_SETTING | (string) Date value. | Date format : <yyyymmdd> |
TIME_SETTING | (string) Time value. | Time format : <hhmm> |
Sample source code
This Sample source code shows how to set the Date or Time.// On a component that inherits Context, such as Activity, do the following.
//For example, Set Date as 2020 May 07
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("OTHER_SETTING_KEY", "DATE_SETTING");
i.putExtra("OTHER_SETTING_VALUE", "20200507");
sendBroadcast(i);
//For example, Set Time as 22:22
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("OTHER_SETTING_KEY", "TIME_SETTING");
i.putExtra("OTHER_SETTING_VALUE", "2222");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --include-stopped-packages --es OTHER_SETTING_KEY DATE_SETTING --es OTHER_SETTING_VALUE 20200507
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --include-stopped-packages --es OTHER_SETTING_KEY TIME_SETTING --es OTHER_SETTING_VALUE 1120
Remarks
- This function does not work when automatic date & time setting is enabled.
- Allow date value such as 20180011 and 20180150
※The former is synonymous with 20171211, the latter is synonymous with 20180219 - Similarly, allow time value such as 4410 and -110
※The former is the next day 20:10, the latter is synonymous with the previous day 23:10 - Time setting is realized by using AlarmManager API same as setting application.
For this reason, it is not possible to set the time before 01:00:00 on January 1, 1970
Also, it is not possible to set the time after 3:14:07 on January 19, 2038
Select ButtonHandler
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | - | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | - | - | - |
FZ-A3 | - | - | - | - | - | - |
Introduction
This section describes the intent API specifications for selecting a button handler app.
Background
Users can select a button handler app by using the Button Handler Select app as shown in Figure 1.
Using the API described in this section, you can select the Button Handler app you want from custom application without using UI.
Function
The APIs described in this section are for the following functions.
- To select Button Handler app you want
- To get the package name and class name of the currently selected button handler app
Intent API specification
The API allows you to change settings and get current settings through the intent mechanism of the Android system.
This section describes the API specifications and sample code.
Select Button Handler app
With the following procedure, you can select a button handler app.
After selection, you can get the package name and class name of the button handler app you selected.
1. Send intent to select an app (ACTION_SELECT_BUTTONHANDLER)
2. Receive intent for response (ACTION_RESPONSE_SELECTED_BUTTONHANDLER)
Function prototype
// 1. Send change setting Intent
String targetButtonHandlerPackage = "desired_button_handler_package_name";
String targetButtonHandlerClass = "desired_button_handler_class_name";
Intent i = new Intent();
i.setAction(ACTION_SELECT_BUTTONHANDLER);
i.putExtra("EXTRA_DATA_SELECT_BUTTONHADLER_PACKAGE",targetButtonHandlerPackage);
i.putExtra("EXTRA_DATA_SELECT_BUTTONHADLER_CLASS",targetButtonHandlerClass);
sendBroadcast(i);
// 2. Receive changing setting Intent
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// 3. Extract data from received Intent
String package_name = intent.getStringExtra("EXTRA_DATA_SELECTED_BUTTONHANDLER_PACKAGE");
String class_name = intent.getStringExtra("EXTRA_DATA_SELECTED_BUTTONHANDLER_CLASS");
boolean result= intent.getBooleanExtra("EXTRA_RESULT_SELECTED_BUTTONHANDLER", false);
}
};
IntentFilter filter = new IntentFilter();
filter.addAction(ACTION_RESPONSE_SELECTED_BUTTONHANDLER);
registerReceiver(receiver, filter);
Intent specification
SELECT ACTION
Name | Value |
---|---|
ACTION_SELECT_BUTTONHANDLER | "com.panasonic.mobile.intent.button.api. ACTION_SELECT_BUTTONHANDLER" |
EXTRA
Name | Type | Value |
---|---|---|
EXTRA_DATA_SELECT_ BUTTONHANDLER_PACKAGE |
String | Package name of Select Button Handler app you want to set |
EXTRA_DATA_SELECT_ BUTTONHANDLER_CLASS |
String | Class name of Select Button Handler app you want to set |
Package name: "com.panasonic.mobile.userbuttonservice"
Class name: "com.panasonic.mobile.userbuttonservice.UserButtonIntentService"
・Disable
Package name: "" (a blank space)
Class name: "" (a blank space)
RESPONSE ACTION
Name | Value |
---|---|
ACTION_RESPONSE_ SELECTED_BUTTONHANDLER |
"com.panasonic.mobile.intent.button.api. ACTION_RESPONSE_SELECTED_BUTTONHANDLER" |
EXTRA
Name | Type | Value |
---|---|---|
EXTRA_DATA_SELECTED_ BUTTONHANDLER_PACKAGE |
String | Package name of Select Button Handler app set |
EXTRA_DATA_SELECTED_ BUTTONHANDLER_CLASS |
String | Class name of Select Button Handler app set |
EXTRA_RESULT_SELECTED_ BUTTONHANDLER |
String | Result of change Select Button Handler app |
Sample source code
This sample source code shows how to select button handler app and receive the response.// Prepare for receiving "Response" broadcast Intent
String ACTION_RESPONSE_SELECTED_BUTTONHANDLER = "com.panasonic.mobile.intent.button.api.ACTION_RESPONSE_SELECTED_BUTTONHANDLER";
String ACTION_SELECT_BUTTONHANDLER = "com.panasonic.mobile.intent.button.api.ACTION_SELECT_BUTTONHANDLER";
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(ACTION_RESPONSE_SELECTED_BUTTONHANDLER)) {
// Extract data from received Intent
String pname = intent.getStringExtra("EXTRA_DATA_SELECTED_BUTTONHANDLER_PACKAGE", pname);
String cname = intent.getStringExtra("EXTRA_DATA_SELECTED_BUTTONHANDLER_CLASS", cname);
boolean result = intent.getBooleanExtra("EXTRA_RESULT_SELECTED_BUTTONHANDLER", false);
}
}
};
IntentFilter filter = new IntentFilter();
filter.addAction(ACTION_RESPONSE_SELECTED_BUTTONHANDLER);
registerReceiver(receiver, filter);
// Send "Execute" broadcast Intent after prior preparation
String targetButtonHandlerPackage = "desired_button_handler_package";
String targetButtonHandlerClass = "desired_button_handler_class";
Intent i = new Intent();
i.setAction(ACTION_SELECT_BUTTONHANDLER);
i.putExtra("EXTRA_DATA_SELECT_BUTTONHADLER_PACKAGE", targetButtonHandlerPackage);
i.putExtra("EXTRA_DATA_SELECT_BUTTONHADLER_CLASS", targetButtonHandlerClass);
sendBroadcast(i);
Get current Button Handler app
With the following procedure, you can get the package name and class name of the currently selected button handler app.
1. Send intent to get information (ACTION_GET_CURRENT_BUTTONHANDLER)
2. Receive intent for response (ACTION_RESPONSE_CURRENT_BUTTONHANDLER)
Function prototype
// 1. Send getting current setting Intent
Intent i = new Intent();
i.setAction(ACTION_GET_CURRENT_BUTTONHANDLER);
sendBroadcast(i);
// 2. Receive sending current setting Intent
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// 3. Extract data from received Intent
String pname = intent.getStringExtra("EXTRA_DATA_CURRENT_BUTTONHANDLER_PACKAGE");
String cname = intent.getStringExtra("EXTRA_DATA_CURRENT_BUTTONHANDLER_CLASS");
}
};
IntentFilter filter = new IntentFilter();
filter.addAction(ACTION_RESPONSE_CURRENT_BUTTONHANDLER);
registerReceiver(receiver, filter);
Intent specification
GET ACTION
Name | Value |
---|---|
ACTION_GET_CURRENT_ BUTTONHANDLER |
"com.panasonic.mobile.intent.button.api. ACTION_GET_CURRENT_BUTTONHANDLER" |
RESPONSE ACTION
Name | Value |
---|---|
ACTION_RESPONSE_CURRENT_ BUTTONHANDLER |
"com.panasonic.mobile.intent.button.api. ACTION_RESPONSE_CURRENT_BUTTONHANDLER" |
EXTRA
Name | Type | Value |
---|---|---|
EXTRA_DATA_CURRENT_ BUTTONHANDLER_PACKAGE |
String | Current package name of Select Button Handler app Setting |
EXTRA_DATA_CURRENT_ BUTTONHANDLER_CLASS |
String | Current class name of Select Button Handler app Setting |
Sample source code
// Prepare for receiving sending current setting Intent
String ACTION_GET_CURRENT_BUTTONHANDLER = "com.panasonic.mobile.intent.button.api.ACTION_GET_CURRENT_BUTTONHANDLER";
String ACTION_RESPONSE_CURRENT_BUTTONHANDLER = "com.panasonic.mobile.intent.button.api.ACTION_RESPONSE_CURRENT_BUTTONHANDLER";
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(ACTION_RESPONSE_CURRENT_BUTTONHANDLER)) {
// Extract data from received Intent
String pname = intent.getStringExtra("EXTRA_DATA_CURRENT_BUTTONHANDLER_PACKAGE");
String cname = intent.getStringExtra("EXTRA_DATA_CURRENT_BUTTONHANDLER_CLASS");
}
}
};
IntentFilter filter = new IntentFilter();
filter.addAction(ACTION_RESPONSE_CURRENT_BUTTONHANDLER);
registerReceiver(receiver, filter);
// Send getting current setting Intent after prior preparation
Intent i = new Intent();
i.setAction(ACTION_GET_CURRENT_BUTTONHANDLER);
sendBroadcast(i);
Power Key Event
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | - | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | - | - | - |
FZ-A3 | - | - | - | - | - | - |
Introduction
This section describes the Intent API specifications of terminal for detect "Press or Release of the power key".
Function
This section describes how to get the status of power key by sending an intent. Power key status is "Press" when the button is pressed, or "Release" when the button is released.
Intent API specification
The status of Press or Release of power key can be obtained through the Intent API mechanism on Android system.
In this section, specifications and sample code for API are described.
Function prototype
// 1. Receive power key status Intent
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// 2. Extract data from received Intent
int powerkey_status = intent.getIntExtra("EXTRA_DATA_POWERKEY_STATUS", -1);
}
};
IntentFilter filter = new IntentFilter();
filter.addAction(ACTION_EVENT_POWERKEY);
registerReceiver(receiver, filter);
Intent specification
RESPONSE ACTION
Name | Value |
---|---|
ACTION_EVENT_POWERKEY | "com.panasonic.mobile.intent.button.api.ACTION_EVENT_POWERKEY" |
EXTRA
Name | Type | Value |
---|---|---|
EXTRA_DATA_POWERKEY_STATUS | int | Power Key Status 0:Press(down) 1:Release(up) |
Sample source code
This sample source code shows how to detect whether power key is pressed or released.// Prepare for receiving "Response" broadcast Intent
String ACTION_EVENT_POWERKEY = "com.panasonic.mobile.intent.button.api.ACTION_EVENT_POWERKEY";
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(ACTION_RESPONSE_POWERKEY)) {
// Extract data from received Intent
int status= intent.getIntExtra("EXTRA_DATA_POWERKEY_STATUS", -1);
}
}
};
IntentFilter filter = new IntentFilter();
filter.addAction(ACTION_EVENT_POWERKEY);
registerReceiver(receiver, filter);
Log Sending Application Operating Manual
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | - | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
The log sending application is a log collection application that can upload logs collected by the logging system and the log sending application itself to a server or store them in a storage.
※
Logcat, kmsg, modem, tcpdump, Status Monitor is interaction log.
Status Monitor is Panasonic original log.
Supported devices
"Log sending application" is available to FZ-N1(Android 8.1 or later).
"Log sending application" can be started from the red "Log collection app" icon in the app list.
Operation type
The log sending application assumes two log collection methods:
・Log collection by UI operation
・Log collection by remote operation.
Remote operation is possible by the operation using Intent and the operation using config.xml described below.
UI Operation:
Log operation can be used by starting the log sending application.Remote Operation :
Intent:
Log operations of log sending app can be done with Broadcast Intent.However, except for some functions, operations cannot be performed using the broadcast intent with the "Log Send App" displayed on the UI.
eg:adb shell am broadcast -a panasonic.intent.action.START_GET_INTLOG --es LOGCAT_OUTPUT on --es KMSG_OUTPUT on --es MODEM_OUTPUT on --es TCPDUMP_OUTPUT on
Intent operations can be sent and saved various logs, started / stopped and deleted Interaction log from the MDM app (AirWatch, MobiControl).
eg: adb shell am broadcast -a panasonic.intent.action.SET_INTENT_ONEEXTRA --es INTENT_INFO action
@@panasonic.intent.action.START_GET_INTLOG@@extraString@@LOGCAT_OUTPUT@@on@@extraString
@@KMSG_OUTPUT@@on@@extraString@@MODEM_OUTPUT@@on@@extraString@@TCPDUMP_OUTPUT@@on
The Intent corresponding to each operation is as follows.
config.xml:
In operation in config.xml, log send application by storing config.xml described in the following format in a specific folder (/storage/sdcard1/logging/) of external storage, Change log sending application settings and log operations.When the log sending application detects that the file is stored in the folder, the log sending application compares the setting information of the transmission application and executes processing corresponding to the changed content.
In the setting file to be stored at that time, only the part to be changed needs to be described. (It is not necessary to describe full text of config.xml)
However, except for some functions, operations cannot be performed using the broadcast intent with the "Log Send App" displayed on the UI.
eg:
File name:config.xml
<Config>
<Category name="collection log">
<Setting name="remote store" type="boolean" value="true" />
<Setting name="remote upload" type="boolean" value="false" />
<Setting name="use network" type="string" value="wifi" />
<Setting name="storage" type="string" value="sd" />
<Status name="available" type="boolean" value="false" />
</Category>
</Config>
Collection Log
The collection log is a log collected by the logging system when various failures occur.
The log sending application can upload server or store storage the collection log.
The logs collected when various failures occur are summarized in the following correspondence table.
The log "Y" in the correspondence table is collected when a failure occurs.
※The yellow log file is Panasonic's original log file.
※Currently, tcpdump log cannot be obtained.
Example)
For logs triggered by Shutdown, NV log, FGIC log, User operation log, shutdown logcat, shutdown kmsg, and Status Monitor log are collected.
Send collection log to server
-Not Support-
Save collection log to storage
With the save collection log to storage function, it is possible to select an external storage or an internal storage and save the collection log in a designated storage.
The save destination file path is as follows.
Internal storage:/storage/emulated/0/
External storage:/storage/sdcard1/logging/
File name:colog_{MODEL}_{SERIAL}_{BASE_FILE_NAME}_{BUILD_NUMBER}.log
Collection log thawing procedure
A file called coXXXXXX.dat is created in the decompressed file, and this is the collecotion log collected at one failure trigger.
By decompressing this file using the tar command, you can read the log file acquired at the time of failure.
The following is an example of the decompression procedure in a Linux environment.
Example)
$ mkdir colog
$ base64 -d colog_{MODEL}_{SERIAL}_{BASE_FILE_NAME}_{BUILD_NUMBER}.log | tar xv -C colog
$ cd colog
$ ls *.dat
→ co000001.dat co000002.dat co000003.dat
$ mkdir co000001
$ tar zxvf co000001.dat -C co000001
Interaction Log
The interaction log is a log that can be continuously acquired from a log sending application for an arbitrary period triggered by a user operation.
The following 4 types of interaction logs can be selected.
・logcat
・kmsg
・modem log
・tcpdump log ※Currently, tcpdump log cannot be obtained.
Acquiring interaction log
In the acquiring interaction log function, a log arbitrarily designated by a user can be acquired continuously for an arbitrary period.
During interaction log acquiring, the status being recorded is displayed in the notification area, and restrictions other than stop of interaction log recording and ON / OFF toggle operation of acquisition of Status Monitor are restricted.
The log type to be acquired can be set from an Output log settings button. However, when getting the modem log, logcat and kmsg are also got.
Acquired interaction log files are saved with the specified names in the following file paths.
【Names of various log files】
・logcat:logcat_yyyymmddhhmmss.log
・kmsg:kmsg_yyyymmddhhmmss.log
・modem log:diag_log_xxxxxxxx_xxxxxxxxxxxxxxxxxxx.qmdl※
:wifi_yyyymmddhhmmss.log
・tcpdump log:tcpdump_yyyymmddhhmmss.log
※File names including xxx ... are specified by QXDM.
The log file is divided every hour, and yyyymmddhhmmss contains the time when the log file was created.
As a method for extracting a log acquired by acquiring interaction log function", the interaction log can be extracted by two methods of upload server of a interaction log and store storage of a interaction log, which will be described later.
Period specification log
The period specification log function by the period specification is a function for starting and stopping interaction log recording at a time set by the user specifying the start time and end time of the interaction log in advance.
When a user acquires continuous accumulation logs,
・Select day of week
・Select date
・Select time
an interaction log can be acquired by combining one or more.
Also, the interaction log acquisition function can stop the acquisition of the interaction log at any timing of the user.
How to specify the period is set in the log acquisition period setting dialog
・Select day of week
・Select date
・Select time
Select each item from the above, and items that are not set while the dialog is displayed are left as no input items.
The usage example is as follows.
Example) Specify 10:00 to 12:00 from December 27, 2019 to December 31, 2019
When specifying the date and time, an end date and time before the start date and time cannot be selected.
If the input value is invalid, a toast is displayed and the input value is not accepted.
Delete interaction log
With the delete interaction log function, the interaction log stored in the terminal can be deleted.
If there is no interaction log in the device, this function button is grayed out and disabled.
This function deletes the interaction log (logcat, kmsg, modem, tcpdump).
Send interaction log to server
-Not Support-
Save interaction log to storage
In the save interaction log to storage function, either external storage or internal storage can be selected and the interaction log and Status Monitor log can be saved in the designated storage.
If there is no external storage and you select an external storage and try to save interaction logs, a dialog is displayed and log saving is stopped.
When the save interaction log to storage fanction is successful, the interaction log temporarily stored in the device is deleted.
If there is no interaction log in the device, this function button is grayed out and disabled.
The save destination file path is as follows.
Internal storage: /storage/emulated/0/
External storage: /storage/sdcard1/logging/
Saved each file name is as follows.
【Names of various log files】
・logcat:logcat_yyyymmddhhmmss.log
・kmsg:kmsg_yyyymmddhhmmss.log
・modem log:diag_log_xxxxxxxx_xxxxxxxxxxxxxxxxxxx.qmdl※
:wifi_yyyymmddhhmmss.log
・tcpdump log:tcpdump_yyyymmddhhmmss.log
・status_yyyymmddhhmmss_ XXXX.csv※
※File names including xxx ... are specified by QXDM.
The log file is divided every hour, and yyyymmddhhmmss contains the time when the log file was created.
XXXX is the status monitor acquisition number.
interaction log thawing procedure
The log sending application of FZ-N1 sends to server and store to storage the log file as it is in the interaction log, so decompression is not required.
Status Monitor Log
The log sending application of FZ-N1 sends to server and store to storage the log file as it is in the interaction log, so decompression is not required.
The output Status Monitor log is saved with the following file name.
・status_YYYYMMDDhhmmss_XXXX.csv※
※XXXX is the status monitor acquisition number.
The detailed setting of Status Monitor log can be set from the "Status monitor settings".
The items that can be set are as follows.
・Interval
・Size
・Count
・Set output log
In the interval, you can set the frequency of log output between 3600 seconds and 1 second.
The size of the log file to be output can be set between 100MB and 1MB.
In the count, you can set the number of log files to be output between 10 and 1.
In the set output log , you can set whether to output logs to Status Monitor for the following functions.
The functions that can be set are as follows.
・Power※
・System※
・Network※
・Cellular
・Wi-Fi
・Bluetooth
・GPS
・Light
※Power is information about battery related
Example) Battery level
System is information about Android system
Example) memory usage
Network is information about Network
Example) Network type
All logs operation
In all log operations, it is possible to perform log uploading server and log store storage operations for the collection logs and interaction logs collected in the device.
Send all logs to server
-Not Support-
Store all log storage
In the store all log storage function, it is possible to select either external storage or internal storage and save the collection log and interaction log in the designated storage.
If there is no external storage and you select an external storage and try to store all logs storage, a dialog is displayed and log saving is stopped.
When the store all log storage function is successful, the interaction log file temporarily stored in the device is deleted.
The save destination file path is as follows.
Internal storage: /storage/emulated/0/
External storage: /storage/sdcard1/logging/
The save destination file name is as follows.
・Collection log
File name:colog_{MODEL}_{SERIAL}_{BASE_FILE_NAME}_{BUILD_NUMBER}.log
・Interaction log
logcat:logcat_yyyymmddhhmmss.log
kmsg:kmsg_yyyymmddhhmmss.log
modem log:diag_log_xxxxxxxx_xxxxxxxxxxxxxxxxxxx.qmdl※
:wifi_yyyymmddhhmmss.log
tcpdump log:tcpdump_yyyymmddhhmmss.log
・Status Monitor log
File name:status_YYYYMMDDhhmmss_XXXX.csv※
※
File names including xxx ... are specified by QXDM.
The log file is divided every hour, and yyyymmddhhmmss contains the time when the log file was created.
XXXX is the Status Monitor acquisition number.
Encrypt all log
Log file encryption can be selected by turning on the encryption all logs toggle button.
Enable this feature if you do not want anyone other than the people involved to read the contents of the log file.
If you want to decrypt the encrypted files, contact your Panasonic representative.
Wi-Fi disconnect threshold
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | - | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓(*1) | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to change the Wi-Fi disconnection threshold setting.
Intent API specification
This section describes the API specifications and sample code for API of the following four functions.
- Set threshold RSSI for disconnection (dBm)
- Set report count of report until disconnection (number of times)
- Set difference level for reconnection from disconnection RSSI (dB)
- Set background mode (enabled or disabled)
Apps can control these Wi-Fi parameters by intent.
Threshold RSSI for disconnection
The API of threshold RSSI for disconnection allows you to change the threshold RSSI for disconnection from an access point by app.Function prototype
int disc_threshold = -72;
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra(EXTRA_DATA, disc_threshold );
Parameters
Name | Type | Value |
---|---|---|
ACTION | String | "com.panasonic.toughpad.android.wifi.api. ACTION_WIFI_DISCONNECT_CONFIG" |
EXTRA_DATA | String | "com.panasonic.toughpad.android.wifi.api. EXTRA_WIFI_DISCONNECT_RSSI" |
disc_threshold | int | RSSI for disconnection from an access point (dBm).
The device disconnects from the connected AP if the reported RSSI with the AP is less than or equal to this value. If this value is set to 0, this function is disabled (default). |
Sample source code
This sample source code shows how to set the threshold RSSI for disconnection, and how to disable disconnection by threshold.Intent i = new Intent();
// Set threshold of disconnection to -72dBm
int disc_threshold = -72;
i.setAction("com.panasonic.toughpad.android.wifi.api.ACTION_WIFI_DISCONNECT_CONFIG");
i.putExtra("com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_DISCONNECT_RSSI", disc_threshold);
sendBroadcast(i);
// Disable disconnection feature by threshold
int disc_threshold = 0;
i.setAction("com.panasonic.toughpad.android.wifi.api.ACTION_WIFI_DISCONNECT_CONFIG");
i.putExtra("com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_DISCONNECT_RSSI", disc_threshold);
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
// Set threshold of disconnection to -72dBm
adb shell am broadcast -a com.panasonic.toughpad.android.wifi.api.ACTION_WIFI_DISCONNECT_CONFIG --ei com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_DISCONNECT_RSSI -72
// Disable disconnection feature by threshold
adb shell am broadcast -a com.panasonic.toughpad.android.wifi.api.ACTION_WIFI_DISCONNECT_CONFIG --ei com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_DISCONNECT_RSSI 0
Report count until disconnection
The API for report count until disconnection allows you to change the report count for disconnection from an access point by app.Function prototype
int disc_count = 5;
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra(EXTRA_DATA, disc_count );
Parameters
Name | Type | Value |
---|---|---|
ACTION | String | "com.panasonic.toughpad.android.wifi.api. ACTION_WIFI_DISCONNECT_COUNT_CONFIG" |
EXTRA_DATA | String | "com.panasonic.toughpad.android.wifi.api. EXTRA_WIFI_DISCONNECT_RSSI_COUNT" |
disc_count | int | Report count of RSSI until disconnection (default: 3).
The device disconnects from the AP if the continuous count of reported RSSI, which is less than or equal to the disconnection threshold, reaches this value. |
Sample source code
This sample source code shows how to change the report count for disconnection from an access point.Intent i = new Intent();
// Set count of report to 5 times
int disc_count = 5;
i.setAction("com.panasonic.toughpad.android.wifi.api.ACTION_WIFI_DISCONNECT_COUNT_CONFIG");
i.putExtra("com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_DISCONNECT_RSSI_COUNT", disc_count);
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
// Set count of report to 5 times
adb shell am broadcast -a com.panasonic.toughpad.android.wifi.api.ACTION_WIFI_DISCONNECT_COUNT_CONFIG --ei com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_DISCONNECT_RSSI_COUNT 5
Difference level for reconnection from disconnection RSSI
The API of difference level for reconnection from disconnection RSSI allows you to change the difference level at which the device reconnects to an access point by app.Function prototype
int reconnect_diff = 12;
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra(EXTRA_DATA, reconnect_diff );
Parameters
Name | Type | Value |
---|---|---|
ACTION | String | "com.panasonic.toughpad.android.wifi.api. ACTION_WIFI_RECONNECT_CONFIG" |
EXTRA_DATA | String | "com.panasonic.toughpad.android.wifi.api. EXTRA_WIFI_RECONNECT_RSSI_DIFF" |
disc_count | int | Difference level for reconnection from disconnection RSSI(dB) (default value: 8) For example, RSSI was -80dBm when the device disconnected from the AP. If this value is set to 12dB, the device will reconnect to the AP when the RSSI is higher than or equal to: -80 + 12 = -68dBm. |
Sample source code
This sample source code shows how to change the difference level at which the device reconnects to an access point.Intent i = new Intent();
// Set Diffrrence level to 12
int reconnect_diff = 12;
i.setAction("com.panasonic.toughpad.android.wifi.api.ACTION_WIFI_RECONNECT_CONFIG");
i.putExtra("com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_RECONNECT_RSSI_DIFF", reconnect_diff);
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
// Set Diffrrence level to 12
adb shell am broadcast -a com.panasonic.toughpad.android.wifi.api.ACTION_WIFI_RECONNECT_CONFIG --ei com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_RECONNECT_RSSI_DIFF 12
Background Mode
The API of background mode allows you to enable or disable this disconnection threshold feature while the LCD is off. The default is disabled while the LCD is off.Function prototype
int background_enable = 1;
Intent i = new Intent();
i.setAction(ACTION);
i.putExtra(EXTRA_DATA, background_enable );
Parameters
Name | Type | Value |
---|---|---|
ACTION | String | "com.panasonic.toughpad.android.wifi.api. ACTION_WIFI_DETECT_BACKGROUND" |
EXTRA_DATA | String | "com.panasonic.toughpad.android.wifi.api. EXTRA_WIFI_DETECT_BACKGROUND_ENABLE" |
disc_count | int | 1: Enable disconnection feature by threshold while the LCD is off. Other than 1: Disable disconnection feature by threshold while the LCD is off (default). |
Sample source code
This sample source code shows how to enable or disable the disconnect threshold while the LCD is off.Intent i = new Intent();
// Enable disconnection feature by threshold while LCD off
int background_mode = 1;
i.setAction("com.panasonic.toughpad.android.wifi.api.ACTION_WIFI_DETECT_BACKGROUND");
i.putExtra("com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_DETECT_BACKGROUND_ENABLE", background_mode);
sendBroadcast(i);
// Disable disconnection feature by threshold while LCD off
int background_mode = 0;
i.setAction("com.panasonic.toughpad.android.wifi.api.ACTION_WIFI_DETECT_BACKGROUND");
i.putExtra("com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_DETECT_BACKGROUND_ENABLE", background_mode);
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
// Enable disconnection feature by threshold while LCD off
adb shell am broadcast -a com.panasonic.toughpad.android.wifi.api.ACTION_WIFI_DETECT_BACKGROUND --ei com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_DETECT_BACKGROUND_ENABLE 1
// Disable disconnection feature by threshold while LCD off
adb shell am broadcast -a com.panasonic.toughpad.android.wifi.api.ACTION_WIFI_DETECT_BACKGROUND --ei com.panasonic.toughpad.android.wifi.api.EXTRA_WIFI_DETECT_BACKGROUND_ENABLE 0
Conditions for value updated by intent to take effect
Immediately applied after sending an intent.The value specified by this intent is initialized only after factory reset. It is maintained after the following operations, power ON with Wi-Fi disabled setting or firmware update over-the-air.
Dashboard Settings
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | - | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | - | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | - | - |
Introduction
This section describes the Dashboard application UI settings to be changed.
Functions
Function prototype
By using the Intent, 3 type settings can be changed in Dashboard application as following.
- Show/Hide the [MENU] placed on up-right side in Dashboard application.
- Change Dashboard application skin color to White or Gray.
- Change the tile placement placed on the bottom of Dashboard application.
The definition of the intent is as follows.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <restricted-menu>);
i.putExtra(NAME, <skin>);
i.putExtra(NAME, <tile>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_DASHBOARD_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATAS:
NAME: RESTRICTED
VALUE: <restricted-menu> (Type String)
NAME: SKIN
VALUE: <skin> (Type String)
NAME: TILE
VALUE: <tile> (Type String)
NAME: APP_PACKAGE_CLASS_NAME
VALUE: <app-package,app-class> (Type String)
Intent parameters to set Dashboard settings are shown below.
NAME | VALUE | Description |
---|---|---|
RESTRICTED | 0 / 1 | Show/Hide MENU 0:Show MENU 1:Hide MENU |
SKIN | 0 / 1 | Change the app skin White/Gray 0:White 1:Gray |
TILE_* (* is number between 1 to 11) |
Airplane mode Wi-Fi WWAN Bluetooth Location Auto-rotate Mic HDMI SD card Custom silent |
Set the tile that controls ON / OFF of various functions. |
APP_PACKAGE_CLASS_NAME_* (* is number between 1 to 11) |
<app-package,app-class> | Set the tile that starts the application. Value is application package name+","+application class ex) Settings com.android.settings,com.android.settings.Settings |
Sample source code
Following sample code changes the Dashboard aplication settings as below:- hide [MENU]
- change application skin to gray
- set tiles as "Airplane mode", and "Settings app".
// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_DASHBOARD_SETTING");
i.putExtra("RESTRICTED", "1");
i.putExtra("SKIN", "1");
i.putExtra("TILE_1", "Airplane mode");
i.putExtra("APP_PACKAGE_CLASS_NAME_2", "com.android.settings,com.android.settings.Settings ");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_DASHBOARD_SETTING --es RESTRICTED 1 --es SKIN 1 --es TILE_1 Airplane\ mode --es APP_PACKAGE_CLASS_NAME_2 com.android.settings,com.android.settings.Settings
Reference
THe settings can be set without using this FLAG parameters.Both settings of TILE and APP_PACKAGE_CLASS_NAME can be set, but the max number is 11.
If intent for setting Dashboard has no RESTRICTED and SKIN color settings, MENU will be displayed and skin will be set white as default.
Home Launcher Settings
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | - | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | - | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that home application (Launcher3 or Panasonic Enterprise Launcher) to be switched.
Functions
Function prototype
You can switch home application to Launcher3(default) or to Panasonic Enterprise Launcher by using the Intent.
(This API can not switch from current home app to home apps other than "Launcher 3 (default)" and "Panasonic Enterprise Launcher".)
If Panasonic Enterprise Launcher is selected, following settings can be set.
・Title
・Kiosk mode
・Application for kiosk mode
・Applications for user mode
・Disable functions
・Disable applications
・Auto launch
・Shortcut of intent
・Hide config file
・Wallpapaer
・Timeout
・Password
When intent is sent, settings will take effect without reboot device.
The definition of the intent is as follows.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <enterprise-launcher>);
i.putExtra(NAME, <launcher-setting>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_HOME_LAUNCHER_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATAS:
NAME: ENTERPRISE_LAUNCHER
VALUE: <enterprise-launcher> (Type String)
NAME: LAUNCHER_SETTING
VALUE: <launcher-setting> (Type String)
Intent parameters to set default home application settings are shown below.
NAME | VALUE | Description |
---|---|---|
ENTERPRISE_LAUNCHER | (String) ENABLE / DISABLE |
Enable/Disable Panasonic Enterprise Launcher. ENABLE: Set Panasonic Enterprise Launcher as home app DISABLE: Set Launcher3 as home app |
LAUNCHER_SETTING | (String) | Reflect the VALUE having contents of Panasonic Enterprise Launcher configuration file (enterpriselauncher.xml). |
Sample source code
Following sample is for changing default home application to Panasonic Enterprise Launcher.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_HOME_LAUNCHER_SETTING");
i.putExtra("ENTERPRISE_LAUNCHER", "ENABLE");
sendBroadcast(i);
Following sample is for change title in Panasonic Enterprise Launcher to Enterpriser when default home application is Panasonic Enterprise Launcher.
// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_HOME_LAUNCHER_SETTING");
i.putExtra("ENTERPRISE_LAUNCHER", "ENABLE");
i.putExtra("LAUNCHER_SETTING", " HomeLauncherSettings ENTERPRISE_LAUNCHER ENABLE
HomeLauncherSettings LAUNCHER_SETTING
<?xml version=¥"1.0¥" encoding=¥"UTF-8¥"?>
<config>
<Title>Enterpriser</Title>
<Kiosk>
<Enable>false</Enable>
</Kiosk>
<Applications/>
<Password/>
<DisableFunctions>
<RecentButton>false</RecentButton>
<StatusBar>false</StatusBar>
<UsbDebugging>false</UsbDebugging>
<CameraButton>false</CameraButton>
<VolumeButton>false</VolumeButton>
<BackButton>false</BackButton>
<PowerButton>false</PowerButton>
<HomeButton>false</HomeButton>
</DisableFunctions>
<AutoLaunch>
<Launch7>not_set</Launch7>
<Launch4>not_set</Launch4>
<Launch6>not_set</Launch6>
<Launch9>not_set</Launch9>
<Launch8>not_set</Launch8>
<Launch1>not_set</Launch1>
<Launch5>not_set</Launch5>
<Launch2>not_set</Launch2>
<Launch10>not_set</Launch10>
<Launch3>not_set</Launch3>
</AutoLaunch>
<DisableApplications/>
<Shortcuts>
<Enable>false</Enable>
</Shortcuts>
<HideConfigFile>false</HideConfigFile>
<AdminTimeout>-1</AdminTimeout>
</config>>");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.adb shell am broadcast -a panasonic.intent.action.SET_HOME_LAUNCHER_SETTING --es ENTERPRISE_LAUNCHER ENABLE --es LAUNCHER_SETTING '"<?xml version=¥"1.0¥" encoding=¥"UTF-8¥"?><config><Title>Enterpriser</Title><Kiosk><Enable>false</Enable></Kiosk><Applications/><Password/><DisableFunctions><RecentButton>false</RecentButton><StatusBar>false</StatusBar><UsbDebugging>false</UsbDebugging><CameraButton>false</CameraButton><VolumeButton>false</VolumeButton><BackButton>false</BackButton><PowerButton>false</PowerButton><HomeButton>false</HomeButton></DisableFunctions><AutoLaunch><Launch7>not_set</Launch7><Launch4>not_set</Launch4><Launch6>not_set</Launch6><Launch9>not_set</Launch9><Launch8>not_set</Launch8><Launch1>not_set</Launch1><Launch5>not_set</Launch5><Launch2>not_set</Launch2><Launch10>not_set</Launch10><Launch3>not_set</Launch3></AutoLaunch><DisableApplications/><Shortcuts><Enable>false</Enable></Shortcuts><HideConfigFile>false</HideConfigFile><AdminTimeout>-1</AdminTimeout></config>"'
Reference
If the default home application is not Panasonic Enterprise Launcher, the default home application setting will not be changed when send intent which set ENTERPRISE_LAUNCHER DISABLE.LAUNCHER_SETTING takes effect only to the user who made the setting.
Double quotation (") in Value must be escaped with backslash (\) before.
Localization Settings
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | - | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | - | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that the coutry and language setting to be changed.
Functions
Function prototype
You can change the country and language setting by using the broadcast intent.And you can change the language even if the country value specified by LOCATION_COUNTRY does not match the language value specified by LOCATION_LANGUAGE.
If the key LOCATION_COUNTRY or LOCATION_LANGUAGE does not specified or the value is null, the setting will be ignored.
After sending the intent, setting changes are applied without restarting the device.
The definition of the intent is as follows.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <setting-value>);
i.putExtra(NAME, <setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action. SET_LOCALIZATION_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: < LOCATION_COUNTRY >
Value: <setting-value> (Type String)
Name: < LOCATION_LANGUAGE >
Value: < setting-value > (Type String)
NAME | setting-value | Description |
---|---|---|
LOCATION_COUNTRY | Country code ※ by ISO 3166-1 |
Set user country and language. |
LOCATION_LANGUAGE | Language code ※ by ISO 639-1 |
Select the language to change. |
Sample command(United States (alpha-3) / English)
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_LOCALIZATION_SETTING --es LOCATION_COUNTRY USA --es LOCATION_LANGUAGE en
Sample command(United States (alpha-2) / English)
// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_LOCALIZATION_SETTING --es LOCATION_COUNTRY US --es LOCATION_LANGUAGE en
Sample source code(Japan / Japanese)
This Sample Source Code is using for change the language to Japanese.// on components that inherit Context such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_LOCALIZATION_SETTING");
i.putExtra("LOCATION_COUNTRY", "JP");
i.putExtra("LOCATION_LANGUAGE", "ja");
sendBroadcast(i);
Sample country code
COUNTRY | Alpha-3 | Alpha-2 |
---|---|---|
Afghanistan | AFG | AF |
Albania | ALB | AL |
Antarctica | ATA | AQ |
Algeria | DZA | DZ |
American Samoa | ASM | AS |
Andorra | AND | AD |
Angola | AGO | AO |
Antigua and Barbuda | ATG | AG |
Azerbaijan | AZE | AZ |
Argentina | ARG | AR |
Australia | AUS | AU |
Austria | AUT | AT |
Bahamas | BHS | BS |
Bahrain | BHR | BH |
Bangladesh | BGD | BD |
Armenia | ARM | AM |
Barbados | BRB | BB |
Belgium | BEL | BE |
Bermuda | BMU | BM |
Bhutan | BTN | BT |
Bolivia multi-ethnic countries | BOL | BO |
Bosnia-Herzegovina | BIH | BA |
Botswana | BWA | BW |
Bouvet Island | BVT | BV |
Brazil | BRA | BR |
Belize | BLZ | BZ |
British Indian Ocean Territory | IOT | IO |
British Virgin Islands | SLB | SB |
Brunei Darussalam | VGB | VG |
Bulgaria | BRN | BN |
Myanmar | MMR | MM |
Burundi | BDI | BI |
Belarus | BLR | BY |
Cambodia | KHM | KH |
Cameroon | CMR | CM |
Canada | CAN | CA |
Cape Verde | CPV | CV |
Cayman Islands | CYM | KY |
Central African Republic | CAF | CF |
Sri Lanka | LKA | LK |
Chad | TCD | TD |
Chile | CHL | CL |
CHINA | CHN | CN |
TAIWAN | TWN | TW |
Christmas Island | CXR | CX |
Cocos (Keeling) Islands | CCK | CC |
Columbia | COL | CO |
Comoros | COM | CO |
Mayotte | MYT | YT |
Republic of the Congo | COG | CG |
Democratic Republic of Congo | COD | CD |
Cook Islands | COK | CK |
Costa Rica | CRI | CR |
Croatia | HRV | HR |
Cuba | CUB | CU |
Cyprus | CYP | CY |
Czech | CZE | CZ |
Benin | BEN | BZ |
Denmark | DNK | DK |
Dominica | DMA | DM |
Dominican Republic | DOM | DO |
Ecuador | ECU | EC |
El Salvador | SLV | SV |
Equatorial guinea | GNQ | GQ |
Ethiopia | ETH | ET |
Eritrea | ERI | ER |
Estonia | EST | EE |
Faroe Islands | FRO | FO |
Falkland (Malvinas) Islands | FLK | FK |
South Georgia and the South Sandwich Islands | SGS | GS |
Fiji | FJI | FJ |
Finland | FIN | FI |
Aland islands | ALA | AX |
France | FRA | FR |
French Guiana | GUF | GF |
French Polynesia | PYF | PF |
French Southern and Antarctic regions | ATF | TF |
Djibouti | DJI | DJ |
Gabon | GAB | GA |
Georgia | GEO | GE |
Gambia | GMB | GM |
Palestine | PSE | PS |
Germany | DEU | DE |
Ghana | GHA | GH |
Gibraltar | GIB | GI |
Kiribati | KIR | KI |
Greece | GRC | GR |
Greenland | GRL | GL |
Grenada | GRD | GD |
Guadeloupe | GLP | GP |
Guam | GUM | GU |
Guatemala | GTM | GT |
Guinea | GIN | GN |
Guyana | GUY | GY |
Haiti | HTI | HT |
Hard Island and McDonald Islands | HMD | HM |
Vatican City | VAT | VA |
Honduras | HND | HN |
HongKong | HKG | HK |
Hungary | HUN | HU |
Iceland | ISL | IS |
India | IND | IN |
Indonesia | IDN | ID |
Iran | IRN | IR |
Iraq | IRQ | IQ |
Ireland | IRL | IE |
Israel | ISR | IL |
Italy | ITA | IT |
Ivory Coast | CIV | CI |
Jamaica | JAM | JM |
Japanese | JPN | JP |
Kazakhstan | KAZ | KZ |
Jordan | JOR | JO |
Kenya | KEN | KE |
Democratic People's Republic of Korea | PRK | KP |
Korea | KOR | KR |
Kuwait | KWT | KW |
Kyrgyzstan | KGZ | KG |
Lao People's Democratic Republic | LAO | LA |
Lebanon | LBN | LB |
Lesotho | LSO | LS |
Latvia | LVA | LV |
Liberia | LBR | LR |
Libya | LBY | LY |
Liechtenstein | LIE | LI |
Lithuania | LTU | LT |
Luxembourg | LUX | LU |
Macau | MAC | MO |
Madagascar | MDG | MG |
Malawi | MWI | MW |
Malaysia | MYS | MY |
Maldives | MDV | MV |
Mali | MLI | ML |
Malta | MLT | MT |
Martinique | MTQ | MQ |
Mauritania | MRT | MR |
Mauritius | MUS | MU |
Mexico | MEX | MX |
Monaco | MCO | MC |
Mongolia | MNG | MN |
Republic of Moldova | MDA | MD |
Montenegro | MNE | ME |
Montserrat | MSR | MS |
Morocco | MAR | MA |
Mozambique | MOZ | MZ |
Oman | OMN | OM |
Namibia | NAM | NA |
Nauru | NRU | NR |
Nepal | NPL | NP |
Netherlands | NLD | NL |
Curacao | CUW | CW |
Aruba | ABW | AW |
Sint Maarten | SXM | SX |
Sint Eustatius and mackerel | BES | BQ |
New caledonia | NCL | NC |
Vanuatu | VUT | VU |
new Zealand | NZL | NZ |
Nicaragua | NIC | NI |
Niger | NER | NE |
Nigeria | NGA | NG |
Niue | NIU | NU |
Norfolk island | NFK | NF |
Norway | NOR | NO |
Northern Mariana Islands | MNP | MP |
U.S. islands | UMI | UM |
Federated States of Micronesia | FSM | FM |
Marshall Islands | MHL | MH |
Palau | PLW | PW |
Pakistan | PAK | PK |
Panama | PAN | PA |
Papua New Guinea | PNG | PG |
Paraguay | PRY | PY |
Peru | PER | PE |
Philippines | PHL | PH |
Pitcairn | PCN | PN |
Poland | POL | PL |
Portugal | PRT | PT |
Guinea Bissau | GNB | GW |
East Timor | TLS | TL |
Puerto rico | PRI | PR |
Qatar | QAT | QA |
Reunion | REU | RE |
Romania | RUS | RU |
Russian Federation | RWA | RW |
Rwanda | RWA | RW |
Saint Barthelemy | BLM | BL |
St. Helena Ascension and Tristan da Cunha | SHN | SH |
Saint Kitts and Nevis | KNA | KN |
Anguilla | AIA | AI |
Saint Lucia | LCA | LC |
Saint Martin | MAF | MF |
Saint-Pierre and Miquelon | SPM | PM |
Saint Vincent and the Grenadines | VCT | VC |
San Marino | SMR | SM |
Sao Tome and Principe | STP | ST |
Saudi Arabia | SAU | SA |
Senegal | SEN | SN |
Serbia | SRB | RS |
Seychelles | SYC | SC |
Sierra Leone | SLE | SL |
Singapore | SGP | SG |
Slovakia | SVK | SK |
Vietnam | VNM | VN |
Slovenia | SVN | SI |
Somalia | SOM | SO |
South Africa | ZAF | ZA |
Zimbabwe | ZWE | ZW |
Spain | ESP | ES |
South Sudan | SDN | SD |
Sudan | ESH | EH |
Western Sahara | SUR | SR |
Suriname | SJM | SJ |
Svalbard and Jan Mayen | SWZ | SZ |
Eswatini | SWZ | SZ |
Sweden | SWE | SE |
Switzerland | CHE | CH |
Syrian Arab Republic | SYR | SY |
Tajikistan | TJK | TJ |
Thailand | THA | TH |
Togo | TGO | TG |
Tokelau | TKL | TK |
Tonga | TON | TO |
Republic of Trinidad and Tobago | TTO | TT |
United Arab Emirates | ARE | AE |
Tunisia | TUN | TN |
Turkey | TUR | TR |
Turkmenistan | TKM | TM |
Turks and Caicos Islands | TCA | TC |
Tuvalu | TUV | TV |
Uganda | UGA | UG |
Ukraine | UKR | UA |
Northern Macedonia | MKD | MK |
Egypt | EGY | EG |
England | GBR | GB |
Guernsey | GGY | GG |
Jersey | JEY | JE |
Isle of Man | IMN | IM |
Tanzania | TZA | TZ |
United States of America | USA | US |
US Virgin Islands | VIR | VI |
Burkina Faso | BFA | BF |
Uruguay | URY | UY |
Uzbekistan | UZB | UZ |
Republic of Venezuela and Bolivar | VEN | VE |
Wallis and Futuna | WLF | WF |
Samoa | WSM | WS |
Yemen | YEM | YE |
Zambia | ZMB | ZM |
Sample language code
LANGUAGE | LANGUAGE CODE |
---|---|
Abkhaz | ab |
Afar | aa |
Afrikaans | af |
Akan | ak |
Albanian | sq |
Amharic | am |
Arabic | ar |
Aragonese | an |
Armenian | hy |
Assamese | as |
Avalan | av |
Avesta | ae |
Aymara | ay |
Azerbaijani | az |
Bambara | bm |
Bashkir | ba |
Basque | eu |
Belarusian | be |
Bengali | bn |
Bihar | bh |
Bislama | bi |
Bosnian | bs |
Breton | br |
Bulgarian | bg |
Burmese | my |
Catalan/Valencia | ca |
Chamorro | ch |
Chechen | ce |
Chewah | ny |
Chinese | zh |
Chuvash | cv |
Cornish | kw |
Corsica | co |
Cree | cr |
Croatian | hr |
Czech language | cs |
Danish | da |
Divehi | dv |
Dutch | nl |
Dzongkha | dz |
English | En |
Esperanto | eo |
Estonian | et |
Ewe | ee |
Faroese | fo |
Fijian | fj |
Finnish | fi |
France | fr |
Fulani | ff |
Galician | gl |
Georgian | ka |
German | de |
Greek | el |
Guarani | gn |
Gujarati | gu |
Haitian | ht |
Hausa | ha |
Hebrew | he |
Herero | hz |
Hindi | hi |
Hilimot | ho |
Hungarian | hu |
Interlingua | ia |
Indonesian | id |
Interring | ie |
Irish | ga |
Igbo | ig |
Inupiaq | ik |
Ido | io |
Icelandic | is |
Italian | it |
Inuktitut | iu |
Japanese | ja |
Javanese | jy |
Greenlandic | kl |
Kannada | kn |
Kanuri | kr |
Kashmir | ks |
Kazakh | kk |
Khmer | km |
Kikuyu | ki |
Rwanda | rw |
Kyrgyz | ky |
Komi | ky |
Congo | kg |
Korean | ko |
Kurdish | ku |
Kwanyama | kj |
Latin | la |
Luxembourgish | lb |
Luganda | lg |
Limburgish | li |
Lingala | ln |
Lao | lo |
Lithuanian | lt |
Luba Katanga | lu |
Latvian | lv |
Isle of Man | gy |
Macedonian | mk |
Madagascar | mg |
Malay | ms |
Malayalam | ml |
Maltese | mt |
Maori | mi |
Marathi | mr |
Marshall | mh |
Mongolian | mn |
Nauru | na |
Navajo | nv |
Norwegian | nb |
Northern Ndebele | nd |
Nepali | ne |
Ndonga | ng |
Norwegian | nn |
Norwegian | no |
Sichuan Yi | ii |
Southern Ndebele | nr |
Occitan | oc |
Ojibwe | oj |
Ancient church slavonic Church slavonic | cu |
Oromo | om |
Oriya | or |
Osset | os |
Punjabi | pa |
Pali | pi |
Persian | fa |
Polish language | pl |
Pashto | ps |
Portuguese | pt |
Quechua | gu |
Romansh | rm |
Rundi | rn |
Romanian Moldova | ro |
Russian | ru |
Sanskrit | sa |
Sardinian | sc |
Sindhi | sd |
Northern Sami | se |
Samoan | sm |
Coral | sg |
Serbian | sr |
Scottish Gaelic | gd |
Shona | sn |
Sinhala | si |
Slovak | sk |
Slovenian | sl |
Somali | so |
Sotho | st |
Spanish | es |
Sundanese | su |
Swahili | sw |
Swazi | ss |
Swedish | sy |
Tamil | ta |
Telugu | te |
Tajik | tg |
Thai | th |
Tigrigna | ti |
Tibetan | bo |
Turkmen | tk |
Tagalog | tl |
Tswana | tn |
Tonga | to |
Turkish | tr |
Tsonga | ts |
Tatar | tt |
Twi | tw |
Tahitian | ty |
Uighur | ug |
Ukrainian | uk |
Urdu | ur |
Uzbek | uz |
Venetian | ve |
Vietnamese | vi |
Volapuk | vo |
Walloon | wa |
Welsh | cy |
Wolof | wo |
Western Frisian | fy |
Xhosa | xh |
Yiddish | yi |
Yoruba | yo |
Zhuang | za |
Zulu | zu |
Remarks
・The language setting can be changed manually in "Settings app" → "System" → "Language and input" → "Languages".・If the country specified by LOCATION_COUNTRY value and the language specified by LOCATION_LANGUAGE value do not match, the display language will be the language specified by LOCATION_LANGUAGE value. You can confirm that the country specified by the value of LOCATION_COUNTRY and the language specified by the value of LOCATION_LANGUAGE are set in "Setting app" → "System" → "Language and input" → "Languages".
・The value of LOCATION_COUNTRY is based on the country code defined by ISO3166-1, but a numeric country code consisting of three digits cannot be used.
MDMSetting USBStorageWhitelist
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | - | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | - | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes a function that restricts the use of devices other than the specified USB storage under a certain condition by using intent.
A certain condition refers to when the USB storage setting is "whitelist".
Functions
Function prototype
User can restrict to use USB strage by adding / deletting the specified USB strage information to / from "white list".
For "white list", user can register up to 10 "Permitted Device" settings associated with the "MDM_USB_STORAGE_WHITELIST_X (X: 1 to 10)" key.
If user would like to cleare "Permitted Device" for each "MDM_USB_STORAGE_WHITELIST_X (X: 1 to 10)" key, user set the Value "null".
If user set a new setting of "Permitted Device" , the setting is overwritten.
Before use the intent, user should set a password on "Device Management" App.
After sending the intent, the setting is reflected without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_MDM_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: < MDM_USB_STORAGE_WHITELIST_X > ※X:1~10
Value: < setting-value > (Type String)
NAME | setting-value | Description |
---|---|---|
MDM_USB_STORAGE_WHITELIST_X ※X:1~10 |
Vendor ID(Hex), Product ID(Hex), Serial number, Device name |
Max:64 Set the USB device name to enable. |
Sample command(One permitted device setting)
The following adb command is a sample to broadcast an intent to change the setting.Hereunder is the sample code for
white list 6 : Vendor ID: 0x0061, Product ID: 0x0062, Serial number: 0x0063, Device name: "test6"
// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_MDM_SETTING --es MDM_USB_STORAGE_WHITELIST_6 0061,0062,0063,test6
Sample command(Multiple permitted device settings commands)
The following adb command is a sample to broadcast an intent to change the setting.Hereunder is the sample code for
white list 8: Vendor ID: 0x0081, Product ID: 0x0082, Serial number: 0x0083, Device name: "test8"
white list 3: Vendor ID: 0x0031, Product ID: 0x0032, Serial number: 0x0033, Device name: "test3"
// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_MDM_SETTING --es MDM_USB_STORAGE_WHITELIST_8 0081,0082,0083,test8 --es MDM_USB_STORAGE_WHITELIST_3 0031,0032,0033,test3
Sample source code(10 permitted device settings commands)
Hereunder is the sample code for
white list 1 : Vendor ID: 0x0011, Product ID: 0x0012, Serial number: 0x0013, Device name: "testStorage1"
white list 2 : Vendor ID: 0x0021, Product ID: 0x0022, Serial number: 0x0023, Device name: "testStorage2"
white list 3 : Vendor ID: 0x0031, Product ID: 0x0032, Serial number: 0x0033, Device name: "testStorage3"
white list 4 : Vendor ID: 0x0041, Product ID: 0x0042, Serial number: 0x0043, Device name: "testStorage4"
white list 5 : Vendor ID: 0x0051, Product ID: 0x0052, Serial number: 0x0053, Device name: "testStorage5"
white list 6 : Vendor ID: 0x0061, Product ID: 0x0062, Serial number: 0x0063, Device name: "testStorage6"
white list 7 : Vendor ID: 0x0071, Product ID: 0x0072, Serial number: 0x0073, Device name: "testStorage7"
white list 8 : Vendor ID: 0x0081, Product ID: 0x0082, Serial number: 0x0083, Device name: "testStorage8"
white list 9 : Vendor ID: 0x0091, Product ID: 0x0092, Serial number: 0x0093, Device name: "testStorage9"
white list 10: Vendor ID: 0x0101, Product ID: 0x0102, Serial number: 0x0103, Device name: "testStorage10"
// on components that inherit Context such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action. SET_MDM_SETTING");
i.putExtra("MDM_USB_STORAGE_WHITELIST_1", "0011,0012,0013,testStorage1");
i.putExtra("MDM_USB_STORAGE_WHITELIST_2", "0021,0022,0023,testStorage2");
i.putExtra("MDM_USB_STORAGE_WHITELIST_3", "0031,0032,0033,testStorage3");
i.putExtra("MDM_USB_STORAGE_WHITELIST_4", "0041,0042,0043,testStorage4");
i.putExtra("MDM_USB_STORAGE_WHITELIST_5", "0051,0052,0053,testStorage5");
i.putExtra("MDM_USB_STORAGE_WHITELIST_6", "0061,0062,0063,testStorage6");
i.putExtra("MDM_USB_STORAGE_WHITELIST_7", "0071,0072,0073,testStorage7");
i.putExtra("MDM_USB_STORAGE_WHITELIST_8", "0081,0082,0083,testStorage8");
i.putExtra("MDM_USB_STORAGE_WHITELIST_9", "0091,0092,0093,testStorage9");
i.putExtra("MDM_USB_STORAGE_WHITELIST_10", "0101,0102,0103,testStorage10");
sendBroadcast(i);
Remarks
・"Permitted Devices" settings can also be set from the “Device Management" App.・When sending the intent, the settings are not reflected on the screen if the "Device Settings" page of the "Device Management" App is open. To reflect the settings on the screen, user need to reopen the screen.
・If setting values is abnormal, settings are not performed for "Permitted Devices" in the Device Management application.
・If user set Intent FLAG "Intent.FLAG_INCLUDE_STOPPED_PACKAGES", even if the service that changes the USBSTORAGEWHITELIST setting has not started, user can start the app and affetc the settings.
Note: USBSTORAGEWHITELIST can be set without the FLAG parameter.
BootAnimation
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | - | ✓ | ✓ | - |
FZ-T1 | - | - | - | - | - | - |
FZ-L1 | - | - | - | - | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the functionality to change the bootup animations by intent.
Functions
Function prototype
This function can change the Boot Animation which is displayed during booting up. The default Boot Animation is the white letters of "Panasonic".
First, user creates own Boot Animation file. Regarding the format of Boot Animation file. refer to the section of "Boot Animation File".
Then, user stores the Boot Animation file on external SD card. The file path is /sdcard/bootanimation.
Finally, user send the dedicated intent which is described in this section.
When user send the intent, the contents are reflected without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <other_setting_value>);
sendBroadcast(i);
Boot Animation File
This section describes the file format of Boot Animation.1. Create a folder named by "bootanimation"
2. Create a "part1" folder in the "bootanimation" folder and save the animation file (.png)
which user wants to display(e.g. bootanimation/part1/startup01.png )
3. Create a text file "desc.txt" describing the behavior of the animation.
*Refer to Details of "desc.txt" file contents.
4. Compress the bootanimation folder by zip format. The file name is "bootanimation.zip".
*Refer to Folder structure.
NOTE : ZIP file must be created as "uncompressed".
NOTE : The device can recognize only "bootanimation" folder in "bootanimation.zip". User should NOT use the other.
Boot Animation file format follows the Android standard specification.
Refer to below for more information.
https://android.googlesource.com/platform/frameworks/base/+/master/cmds/bootanimation/FORMAT.md
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATAS:
NAME: OTHER_SETTING_KEY
VALUE: <intent-key> (Type String)
NAME: OTHER_SETTING_VALUE
VALUE: <other_setting_value>(Type String)
Intent-key | other_setting_value | Description |
---|---|---|
BOOTANIMATION | true false |
true: BootAnimation file change false: Load default BootAnimation |
Sample source code
This is a sample code that change the Boot Animation which is stored on /sdcard/bootanimation/bootanimation.zip.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY ", "BOOTANIMATION");
i.putExtra("OTHER_SETTING_VALUE", "true");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting. This is a sample command that change the Boot Animation which is stored on /sdcard/bootanimation/bootanimation.zip.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY BOOTANIMATION --es OTHER_SETTING_VALUE true
Remarks
・The settings are reflected for each user.DeviceOwnerName
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | ✓ | - | - |
FZ-N1 | - | - | - | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | - | - |
FZ-L1 | - | - | - | - | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to rename username of multiuser-admin (default name is "Owner").
Functions
Function prototype
You can rename username of multiuser-admin (default name is "Owner") by using the broadcast Intent API.
When this name is changed, setting changes are applied without restarting the terminal.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <device-owner-name-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATAS:
NAME: OTHER_SETTING_KEY
VALUE: <intent-key> (Type String)
NAME: OTHER_SETTING_VALUE
VALUE: <device_owner_name_values>(Type String)
Intent-key | device_owner_name_value | Description |
---|---|---|
DEVICE_OWNER_NAME | Default: "Owner" Example: "SampleName" |
Enter the "Owner" name as a String type. <Do not work> *See remarks ・Value is null ・Value is not a String type |
Sample source code
This sample source code shows how to rename username of multiuser-admin to "SampleName".// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "DEVICE_OWNER_NAME");
i.putExtra("OTHER_SETTING_VALUE", "SampleName");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY DEVICE_OWNER_NAME --es OTHER_SETTING_VALUE SampleName
Remarks
If the Value is set as follows, this rename function is not work.・Value is null
・Value is not a String type
Even if multiuser mode is not multiuser-admin, this function is executed as rename username of multiuser-admin.
(You can not rename username of non-multiuser-admin.)
ScreenTimeOut
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | ✓ | - | - |
FZ-N1 | - | - | - | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | - | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the functionality to change Sleep time by Intent.
Functions
Function prototype
User can change the Sleep time setting by intent which is described in this section.
The Sleep time is the time until the LCD turns off.
After sending the intent, setting changes are applied without restarting the terminal.
The definition of the intent is as follows.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATAS:
NAME: OTHER_SETTING_KEY
VALUE: <intent-key> (Type String)
NAME: OTHER_SETTING_VALUE
VALUE: <screen_timeout_values>(Type String)
Intent-key | screen_timeout_values | Description |
---|---|---|
SCREEN_TIMEOUT | 0 : 15second 1 : 30second 2 : 1minute 3 : 2minute 4 : 5minute 5 : 10minute 6 : 30minute |
Set the time until sleep mode |
Sample source code
This is a sample code to set Sleep time for 30 second.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "SCREEN_TIMEOUT");
i.putExtra("OTHER_SETTING_VALUE", "1");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting. This is a sample command to set Sleep time for 30 second.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY SCREEN_TIMEOUT --es OTHER_SETTING_VALUE 1
Sound and notification
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | ✓ | - | - |
FZ-N1 | - | - | - | ✓ | - | - |
FZ-T1 | - | - | - | ✓ | ✓ | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to change below sound and notification settings by using broadcast Intent API.
- Dial pad tones
- Touch Sounds
- Ring Tone
- Default notification sound
Functions
DTMF_TONE_WHEN_DIALING
Function prototype
This section descibes how to change the following setting.
Setting Application > Sounds > Advanced > Other sounds and vibrations > Dial pad tones ON / OFF
(Models without phone function do not support this feature.)
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <other-setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATAS:
NAME: OTHER_SETTING_KEY
VALUE: <intent-key> (Type String)
NAME: OTHER_SETTING_VALUE
VALUE: <other_setting_value> (Type String)
Intent-key | other_setting_value | Description |
---|---|---|
DTMF_TONE_WHEN_DIALING | 0:OFF (Default) 1:ON |
Dial pad operation sound <Do not work> *See remarks ・Value is null ・Value is Other than 0 or 1 |
Sample source code
This sample source code shows how to set the Dial pad tone to off.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "DTMF_TONE_WHEN_DIALING");
i.putExtra("OTHER_SETTING_VALUE", "0");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY DTMF_TONE_WHEN_DIALING --es OTHER_SETTING_VALUE 0
SOUND_EFFECTS_ENABLED
Function prototype
This section descibes how to change the following setting.Setting Application > Sounds > Advanced > Other sounds and vibrations > Touch Sounds ON / OFF
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <other-setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATAS:
NAME: OTHER_SETTING_KEY
VALUE: <intent-key> (Type String)
NAME: OTHER_SETTING_VALUE
VALUE: <other_setting_value>(Type String)
Intent-key | other_setting_value | Description |
---|---|---|
SOUND_EFFECTS_ENABLED | 0:OFF (Default) 1:ON |
Sounds when tapping menus, buttons, and applications. <Do not work> *See remarks ・Value is null ・Value is Other than 0 or 1 |
Sample source code
This sample source code shows how to set the Touch Sounds to off.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "SOUND_EFFECTS_ENABLED");
i.putExtra("OTHER_SETTING_VALUE", "0");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY SOUND_EFFECTS_ENABLED --es OTHER_SETTING_VALUE 0
PHONE_RINGTONE
Function prototype
This section descibes how to change the following settings.Settings app > Sound > Phone ringtone
If the ring tone is "None", there is NO sound when receiving a call.
If user would like to use original sound, user need to add original sound by Settings application then user can use the itntent to chenge the sound.
(Models without phone function do not support this feature.)
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <other-setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATAS:
NAME: OTHER_SETTING_KEY
VALUE: <intent-key> (Type String)
NAME: OTHER_SETTING_VALUE
VALUE: <other_setting_value>(Type String)
Intent-key | other_setting_value | Description |
---|---|---|
PHONE_RINGTONE | Ringtone name Default: Flutey Phone | Set the ringtone name you want to change to "Value". <Input rule> ・"Value" matches the ringtone name in the Ringtone List* ・"Value" matches the Added ringtone name |
Sample source code
This sample source code shows how to set Phone ringtone to Andromeda.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "PHONE_RINGTONE");
i.putExtra("OTHER_SETTING_VALUE", "Andromeda");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY PHONE_RINGTONE --es OTHER_SETTING_VALUE Andromeda
Ringtone List
Only pre-installed RingtonesNone | Dream Theme | Pardise Island |
Andromeda | Easten Sky | Pegasus |
Aquila | Enter the Nexus | Perseus |
Argo Navis | Eridani | Playa |
Atria | Ether Shake | Rasalas |
Backroad | Flutey Phone | Revelation |
Beat Plucker | Free Flight | Rigel |
Bell Phone | Friendly Ghost | Road Trip |
Bentley Dubs | Funk Y’all | Romancing The Tone |
Big Easy | Game Over Guitar | Safari |
Bird Loop | Gimme Mo’ Town | Savannah |
Bollywood | Girtab | Scarabaeus |
Boötes | Glacial Groove | Sceptrum |
Bus’a Move | Growl | She’s All That |
Cairo | Halfway Home | Silky Way |
Calypso Steel | Hydra | Sitar Versus Sitar |
Canis Major | Insert Coin | Solarium |
Caribbean Ice | Kuma | Springy Jalopy |
Cassiopeia | Loopy Lounge | Steppin’ Out |
Centaurus | Love Flute | Terminated |
Champagne Edition | Lyra | Terrible Twos |
Chimey Phone | Machina | Testudo |
Club Cubano | Medieval Jaunt | Themos |
Crayon Rock | Mildly Alarming | Third Eye |
Crazy Dream | Nairobi | Thriller Three |
Curve Ball Blend | Nassau | Thunderfoot |
Cygnus | New Player | Twirl Away |
Dancin’ Fool | No Limits | UrsaMinor |
Digital Phone | Noisey One | Vespa |
Don’ Mess Wiv It | Organ Dub | World |
Draco | Orion | Zeta |
Remarks
・The settings are reflected for each user.DEFAULT_NOTIFICATION_SOUND
Function prototype
This section descibes how to change the following settings.Sound> Advanced> Default notification sound
If the notification sound is "None", the notification sound does NOT sound.
If user would like to use original sound, user need to add original sound by Settings application then user can use the itntent to chenge the sound.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <other-setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATAS:
NAME: OTHER_SETTING_KEY
VALUE: <intent-key> (Type String)
NAME: OTHER_SETTING_VALUE
VALUE: <other_setting_value>(Type String)
Intent-key | other_setting_value | Description |
---|---|---|
DEFAULT_NOTIFICATION_SOUND | Notification sound name Default: Pixie Dust |
Set the notification sound name you want to change to "Value". <Input rule> ・"Value" matches the notification sound name in the Notification Sound List* ・"Value" matches the Added notification sound name |
Sample source code
This sample source code shows how to set the Default notification sound to Adara.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "DEFAULT_NOTIFICATION_SOUND");
i.putExtra("OTHER_SETTING_VALUE", "Adara");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY DEFAULT_NOTIFICATION_SOUND --es OTHER_SETTING_VALUE Adara
Notification Sound List*
Only pre-installed Notification soundNone | Look At me |
Adara | Mira |
Aldebaran | Missed It |
Altair | Moonbeam |
Alya | On The Hunt |
Antares | Palladium |
Antimony | Pixie Dust |
Arcturus | Pizzicato |
Beat Box Android | Plastic Pipe |
Bellatrix | Polaris |
Beryllium | Pollux |
Betelgeuse | Procyon |
Caffeinated Rattlesnake | Proxima |
Capella | Radon |
Captain’s Log | Regulus |
Castor | Ruvidium |
Cobalt | Selenium |
Cricket | Shaula |
Dear Deer | Sirius |
Deneb | Space Seed |
Doink | Spica |
Don’t Panic | Strontium |
Drip | Syrma |
Electra | Ta Da |
Fluorine | Talitha |
Fomalhaut | Tejat |
Gallium | Thallium |
Heaven | Tinkerbell |
Helium | Tweeters |
Highwire | Upsilon |
Hojus | Vega |
Iridum | Voila |
Krypton | Xenon |
Kzurb Sonar | Zirconium |
Remarks
The settings are reflected for each user.Wireless and network settings
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | - | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | - | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to change the following wireless and networks settings by intent.
- Security & location > Location
- Bluetooth > ON / OFF
- NFC > ON / OFF
Functions
SWITCH_LOCATION
Function prototype
This section describes how to change the following settings by intent.Settings app > Security & location > Location
If the user manages this setting by MDM, the MDM setting has higher priority.
If the user set the Location to [Device only],[Battery Saving] or [High Accuracy], the dialog is skipped by [AGREE].
Set the Location to [Device only],[Battery Saving] or [High Accuracy] supported by models up to Android OS Version Oreo.
For models after Android OS Version Pie, switch ON / OFF only.
The definition of the intent is as follows.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATAS:
NAME: OTHER_SETTING_KEY
VALUE: <intent-key> (Type String)
NAME: OTHER_SETTING_VALUE
VALUE: <other_setting_value>(Type String)
Intent-key | other_setting_value | Description |
---|---|---|
SWITCH_LOCATION | Before Android OS Version Oreo 0:OFF 1:Device only 2:Battery saving 3:High accuracy After Android OS Version Pie 0:OFF 1, 2, 3:ON |
Mode switching of location information. The toggle button is turned off when the Value is 0, and turned on at 1, 2, and 3. <Do not work> *See remarks ・Value is null ・Other than 0, 1, 2, or 3 |
Sample source code
This is a sample code to set location to OFF.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "SWITCH_LOCATION");
i.putExtra("OTHER_SETTING_VALUE", "0");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting. This is a sample command to set location to OFF.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY SWITCH_LOCATION --es OTHER_SETTING_VALUE 0
Remarks
・If the value is as follows, inherit the originally set value without setting.・Null
・Other than 0, 1, 2, or 3
The settings are applied to all users.
SWITCH_BLUETOOTH_STATE
Function prototype
This section descibes how to change the following settings by intent.Settings app > Connected devices > Bluetooth > ON / OFF
If the user sends an intent to set Bluetooth off while paired with a Bluetooth device, the pairing is canceled.
If the user manages this setting by MDM, the MDM setting has higher priority.
The definition of the intent is as follows.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATAS:
NAME: OTHER_SETTING_KEY
VALUE: <intent-key> (Type String)
NAME: OTHER_SETTING_VALUE
VALUE: <other_setting_value>(Type String)
Intent-key | other_setting_value | Description |
---|---|---|
SWITCH_BLUETOOTH_STATE | 0:OFF 1:ON |
Switch Bluetooth ON/OFF <Do not work> *See remarks ・Value is null ・Other than 0 or 1 |
Sample source code
This is a sample code to set Bluetooth to OFF.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "SWITCH_BLUETOOTH_STATE");
i.putExtra("OTHER_SETTING_VALUE", "0");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting. This is a sample command to set Bluetooth to OFF.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY SWITCH_BLUETOOTH_STATE --es OTHER_SETTING_VALUE 0
Remarks
・If the value is as follows, inherit the originally set value without setting.・Null
・Other than 0 or 1
・The settings are applied to all users.
SWITCH_NFC_STATE
Function prototype
This section descibes how to change the following settings by intent.Settings app > Connected terminals > NFC > ON/OFF
If the user manages this setting by MDM, the MDM setting has higher priority.
The definition of the intent is as follows.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATAS:
NAME: OTHER_SETTING_KEY
VALUE: <intent-key> (Type String)
NAME: OTHER_SETTING_VALUE
VALUE: <other_setting_value> (Type String)
Intent-key | other_setting_value | Description |
---|---|---|
SWITCH_NFC_STATE | 0:OFF 1:ON |
Switch NFC ON/OFF <Do not work> *See remarks ・Value is null ・Other than 0 or 1 |
Sample source code
This is a sample code to set NFC to OFF.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "SWITCH_NFC_STATE");
i.putExtra("OTHER_SETTING_VALUE", "0");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting. This is a sample command to set NFC to OFF.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY SWITCH_NFC_STATE --es OTHER_SETTING_VALUE 0
Remarks
・If the value is as follows, inherit the originally set value without setting.・Null
・Other than 0 or 1
The settings are applied to all users.
ScreenLockSettings
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | ✓ | - | - |
FZ-N1 | - | - | - | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | - | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the following settings:
- Change password lock mode
- Enable / Disable lock setting at device startup
- Unlock password (current password required)
- Setting new password
Functions
Function prototype
This section describes how to set the following functions and how to enable or disable them.
- Change password lock mode
- Enable / Disable lock setting at device startup
- Unlock password (current password required)
- Setting new password
The definition of the intent is as follows.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SCREEN_LOCK_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATAS:
NAME: LOCK_MODE
VALUE: <setting-value> (Type String)
NAME: BOOT_LOCK
VALUE: <setting-value> (Type String)
NAME: NEW_PASSWORD
VALUE: <setting-value> (Type String)
NAME: CURRENT_PASSWORD
VALUE: <setting-value> (Type String)
NAME | VALUE | Description |
---|---|---|
LOCK_MODE | none swipe pin password |
Lock mode when the screen is turned off / on |
BOOT_LOCK | 0 : false 1 : true (Secure start-up) |
Device activation lock |
NEW_PASSWORD | lock_mode : none / swipe - Specify null as input value lock_mode : pin - Numeric characters at least 4 and less than 16 letters lock_mode : password - Alphanumeric characters at least 4 and less than 16 letters |
New password setting |
CURRENT_PASSWORD | lock_mode : none / swipe - Specify null as input value lock_mode : pin - Numeric characters at least 4 and less than 16 letters lock_mode : password - Alphanumeric characters at least 4 and less than 16 letters |
Currently set password |
Reference
CURRENT_PASSWORDIf device is locked (LOCK_MODE is PIN or password), CURRENT_PASSWORD must be set with a password to unlock.
Sample source code
This is a sample code to change pin code passowrd as below condition.- Lock Mode : pin
- Boot Lock : false
- New Password : "0000"
- Current Password : "1234"
// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SCREEN_LOCK_SETTING");
i.putExtra("LOCK_MODE", "pin");
i.putExtra("BOOT_LOCK", "0");
i.putExtra("NEW_PASSWORD ", "0000");
i.putExtra("CURRENT_PASSWORD ", "1234");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting. This is a sample command to change pin code passowrd as below condition.- Lock Mode : pin
- Boot Lock : false
- New Password : "0000"
- Current Password : "1234"
// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SCREEN_LOCK_SETTING --es LOCK_MODE pin --es BOOT_LOCK 0 --es NEW_PASSWORD 0000 --es CURRENT_PASSWORD 1234
Remarks
・To disable the lock of a device with a password, need to specify the password set to CURRENT_PASSWORD.・The NEW_PASSWORD to be set must be suitable for the password policy.(Number of characters, only numbers for PIN Mode, numbers and alphabets for Password Mode)
・NEW_PASSWORD is required to enable BOOT_LOCK (BOOT_LOCK 1).
Staging run command setting
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | - | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | - | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to execute adb shell command by intents.
Functions
Function prototype
User can execute any adb shell command on the terminal by intent.
User can execute up to 10 commands at the same time, and a number from 1 to 10 is assigned to the key and executed.
When user send the intent, the commands are executed immediately.
The definition of the intent is as follows.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.RUN_COMMAND_SETTINGFLAG: intent.action.internal.RUN_COMMAND_SETTING
EXTRA_DATAS:
NAME: COMMAND_1
VALUE: <setting-value> (Type String)
NAME: COMMAND_2
VALUE: <setting-value> (Type String)
NAME: COMMAND_3
VALUE: <setting-value> (Type String)
NAME: COMMAND_4
VALUE: <setting-value> (Type String)
NAME: COMMAND_5
VALUE: <setting-value> (Type String)
NAME: COMMAND_6
VALUE: <setting-value> (Type String)
NAME: COMMAND_7
VALUE: <setting-value> (Type String)
NAME: COMMAND_8
VALUE: <setting-value> (Type String)
NAME: COMMAND_9
VALUE: <setting-value> (Type String)
NAME: COMMAND_10
VALUE: <setting-value> (Type String)
Intent-key | value | Description |
---|---|---|
COMMAND_X(X:1~10) | "Execution Command" | Input rules ・MAX 1024 characters ・Enter the command to be executed in "". ・If there is a space in Value, it is necessary to put Backslash (\) before the space. |
Sample source code
This is a sample code to perform below 2 command by intent.1. adb shell screencap -p /sdcard/screen.png
2. adb shell input keyevent 3
// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.RUN_COMMAND_SETTING");
i.putExtra("COMMAND_1", "screencap\ -p\ /sdcard/screen.png");
i.putExtra("COMMAND_2", "input\ keyevent\ 3");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting. This is a sample comand to perform below command by intent.adb shell input keyevent 3
// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.RUN_COMMAND_SETTING --es COMMAND_2 "input\ keyevent\ 3"
Sample command (multi-parameter)
The following adb command is a sample to broadcast an intent to change the setting. This is a sample command to perform below 2 command by intent.1. adb shell screencap -p /sdcard/screen.png
2. adb shell input keyevent 3
// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.RUN_COMMAND_SETTING --es COMMAND_5 "screencap\ -p\ /sdcard/screen.png" --es COMMAND_3 "input\ keyevent\ 3"
Remarks
- If "X" of "COMMAND_X" is out of the range or not described, the command is not executed.
- Value must be enclosed in "".
- If there are any spaces in Value, it must put Backslash (\) before all spaces.
- Commands are executed with the "adb shell" running. Therefore, it is not necessary to describe "adb shell" in the command.(enter in Value)
- Since commands 1 to 10 are executed separately, command 2 is executed even if command 1 is not input.
SystemProperty Setting
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | - | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | - | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to change below settings by intent.
- Wi-Fi ON / OFF
- Airplane Mode ON / OFF
- Application Menu
- Unknown Application Menu
- Network Monitor Notiication
Intent Specification
WI-FI MENU
Function prototype
This section describe how to enable or disable below Wi-Fi setting by intent.
[FZ-N1 (Android 8.x Oreo)]
- Enable / disable Wi-Fi function.
- Enable / disable to show SSID screen when tapping Wi-Fi SSID list.
- Enable / disable to show SSID menu list when long tapping Wi-Fi SSID list.
- Enable / disable "Add Network" in Wi-Fi menu.
- Enable / disable "Advanced" in Wi-Fi menu.
- Enable / disable Wi-Fi function.
- Enable / disable to show SSID list popup when tapping Wi-Fi SSID.
- Enable / disable to show SSID list screen of Wi-Fi Setting application when Wi-Fi Quick icon is tapped and held.
- Show / Hide Wi-Fi setting items.
- Enable / disable switching from Quick settings.
- Enable / disable "Add Network" in Wi-Fi menu.
- Enable / disable "Advanced" in Wi-Fi menu.
- Enable / disable to show SSID list screen of Wi-Fi Setting application when Wi-Fi Quick icon is tapped and held.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTYFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value> (Type String)
Intent-key | system-property-value | Description |
---|---|---|
WIFI_MENU | true:enable false:disable |
Wi-Fi function suppression |
Sample source code
This is a sample code to disable Wi-Fi function.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("SYS_PROP_KEY", "WIFI_MENU");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting. This is a sample command to disable Wi-Fi function.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --include-stopped-packages --es SYS_PROP_KEY WIFI_MENU --es SYS_PROP_VALUE false
Remarks
・If VALUE is neither of true / false, it is considered as specifying true.・The setting on the DeviceManagement application is put high priority than this API, regarding the ON/OFF setting.
・Settings take effect to all users
AIRPLANE_MODE_MENU
Function prototype
This section describes how to enable or disable below Airplane Mode setting by intent.
[FZ-N1 (Android 8.x Oreo)]
- Enable / disable the toggle button which turns ON / OFF Airplane mode.
- Enable / disable Airplane mode on / off switching.
- Enable / disable screen transition when long tapping Airplane mode Quick icon.
- Show / Hide Airplane setting items.
- Enable / disable switching from Quick settings.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTYFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value> (Type String)
Intent-key | system-property-value | Description |
---|---|---|
AIRPLANE_MODE_MENU | true:enable false:disable |
Airplane mode suppression |
Sample source code
This is a sample code to set airplane mode on.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("SYS_PROP_KEY", " AIRPLANE_MODE_MENU");
i.putExtra("SYS_PROP_VALUE", "true");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting. This is a sample command to set airplane mode on.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --include-stopped-packages --es SYS_PROP_KEY AIRPLANE_MODE_MENU --es SYS_PROP_VALUE true
Remarks
・If VALUE is neither of true / false, it is considered as specifying true.・The setting on the DeviceManagement application is put high priority than this API, regarding the ON/OFF setting.
・Settings take effect to all users
APP_MENU
Function prototype
The following functions can be controlled in Setting Application > Apps & notifications.- Enable / disable screen transition when tapping the application icon in"Recently opened apps".
- Enable / disable screen transition when tapping "See all XX apps".
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTYFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value> (Type String)
Intent-key | system-property-value | Description |
---|---|---|
APP_MENU | true:enable false:disable |
Restrict to display of APP menu |
Sample source code
This is a sample code to restrict to display related application menu.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("SYS_PROP_KEY", "APP_MENU");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting. This is a sample command to restrict to display related application menu.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --include-stopped-packages --es SYS_PROP_KEY APP_MENU --es SYS_PROP_VALUE false
Remarks
・If the display becomes invalid while "App info" is displayed, the screen will not end and the next screen transition will not be executed (Back is possible).UNKOWN_APP_MENU
Function prototype
The following items can be controlled in the Settings application- Enable / Disable screen transition when user tap "Install unknown apps" in below menu.
Settings app > Apps and notifications > Advanced > Special app access.
When disabled, it is grayed out and cannot be tapped.
- Enable / disable screen transition from the "Install unknown apps" screen to individual application settings.
- Enable / disable ON / OFF toggle button in each application setting screen (ON / OFF setting value itself is not changed).
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTYFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value> (Type String)
Intent-key | system-property-value | Description |
---|---|---|
UNKNOWN_APP_MENU | true:enable false:disable |
Hiding the unknown APP |
Sample source code
This is a sample code to hide an unknown application.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("SYS_PROP_KEY", "UNKNOWN_APP_MENU");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting. This is a sample command to hide an unknown application.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --include-stopped-packages --es SYS_PROP_KEY UNKNOWN_APP_MENU --es SYS_PROP_VALUE false
NETWORK_MONITOR_NOTIFICATION
Function prototype
User can manage to display "Network may be monitored" notification which is displayed in the notification bar after installing the certificate.Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG);
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <system-property-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_SYSTEM_PROPERTYFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES
EXTRA_DATA:
Name: SYS_PROP_KEY
Value: <intent-key> (Type String)
Name: SYS_PROP_VALUE
Value: <system-property-value> (Type String)
Intent-key | system-property-value | Description |
---|---|---|
NETWORK_MONITOR_NOTIFICATION | true:enable false:disable |
Show / hide in notification bar |
Sample source code
This is a sample code to hide the notification on notification bar.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_SYSTEM_PROPERTY");
i.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
i.putExtra("SYS_PROP_KEY", "NETWORK_MONITOR_NOTIFICATION");
i.putExtra("SYS_PROP_VALUE", "false");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting. This is a sample command to hide the notification on notification bar.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_SYSTEM_PROPERTY --include-stopped-pakages --es SYS_PROP_KEY NEWWORK_MONITOR_NOTIFICATION --es SYS_PROP_VALUE false
Remarks
・If VALUE is neither of true / false, it is considered as specifying true.DisableApp
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | - | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | - | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to restrict or unrestrict to run application by intent.
Functions
Function prototype
User can restrict or unrestrict to run application by intent. When user restrict an application, the application can NOT work even if user tap the application icon or the application is invoked by intent.
If you set Application to restrict, it is reflected immediately without reboot.
If you set Application to unrestrict, the behavior depends on the application. You may reboot the device to take effect in some case.
The definition of the intent is as follows.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <package-name>);
i.putExtra(NAME, <package-status>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_DISABLESYSTEMAPP_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (optional)
EXTRA_DATA:
Name: DISABLE_PACKAGE
Value: <package-name> (Type String)
Name: PACKAGE_STATUS
Value: <package-status> (Type String)
NAME | VALUE | necessity | Description |
---|---|---|---|
DISABLE_PACKAGE | <package-name> | mandatory | Specify package name. Multiple packages can be set by separating them with commas. |
PACKAGE_STATUS | ENABLE DISABLE |
option | Specify whether to restrict or unrestrict the package. If not specified, it behaves the same as specifying DISABLE (restrict). |
Sample source code
This is a sample code to restrict to perform Chrome application.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_DISABLESYSTEMAPP_SETTING");
i.putExtra("DISABLE_PACKAGE", "com.android.chrome");
i.putExtra("PACKAGE_STATUS", "DISABLE");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting. This is a sample command to restrict to perform Chrome application.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_DISABLESYSTEMAPP_SETTING --es DISABLE_PACKAGE com.android.chrome --es PACKAGE_STATUS DISABLE
Android Enterprise Migration
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | - | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | - | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the function of migrating a device from Device Admin to Device Owner of Android Enterprise management using broadcast intent.
Function
Function prototype
This function is called by sending a broadcast intent of Android Enterprise migration. It migrate a device to Device Owner without factory reset.
The target device requires the following operational states.
- It works on a device with Device Administrator.
If it is already managed by Android Enterprise (Device Owner), the migration will not work (no change).
Do not run this function in an Android Enterprise (Profile Owner) device with a work profile, because the android provisioning will fail.
Even if a device is not using a third-party Device Administrator such as SOTI or AirWatch, the device's default state is Device Administrator made by Google, so this function can be used to migrate to Android Enterprise (Device Owner).
- Battery level must be 30% or higher.
This function does not work (no change) when the battery level is less than 30% regardless of the charging status.
- It keeps connecting to the internet.
Because the migration uses internet communication, it will not work (no change) if there is no connection to the internet.
It will be done automatically without any UI operation by the user during Android Enterprise migration.
Since the result code of the migration process is notified by a broadcast intent below at the end of Android Enterprise migration, it can be received by a BroadcastReceiver.
ACTION: panasonic.intent.action.api.MIGRATING_ENTERPRISE_RESULT
EXTRA_DATA:
Name 1: MIGRATING_ENTERPRISE_RESULT
Value 1: <result-code> (Type int)
The device will automatically restarts when the Device Owner enrolled after the migration is completed.
The result of Android Enterprise migration is stored in the system property named “persist.sys.pmc.admin_prov_ret”.
The definition of the Android Enterprise migration intent is as follows.
Intent i = new Intent();
i.setAction("ACTION");
i.putExtra("NAME1", "<provisioning-data>");
i.putExtra("NAME2", "<clear-device-admin>"");// option
sendBroadcast(i);
The result code definition of the Android Enterprise migration is as follows.Result code | Description |
---|---|
0 | Android Enterprise Migration succeeded. |
1 | Android Enterprise Migration failed. Failure reason: <provisioning-data> is not specified in Android Enterprise migration intent. |
2 | Android Enterprise Migration failed. Failure reason: The device is already managed by Android Enterprise. |
3 | Android Enterprise Migration failed. Failure reason: the parameter of EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME is not specified in <provisioning-data>. |
4 | Android Enterprise Migration failed. Failure reason: the parameter of EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION is not specified in <provisioning-data>. |
5 | Android Enterprise Migration failed. Failure reason: the parameter of EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM is not specified in <provisioning-data>. |
6 | Android Enterprise Migration failed. Failure reason: <provisioning-data> has invalid data. |
7 | Android Enterprise Migration failed. Failure reason: The device cannot connect to the Internet. |
8 | Android Enterprise Migration failed. Failure reason: It failed to clear the existing Device Admins. |
9 | Android Enterprise Migration failed. Failure reason: The Android standard provisioning process failed. |
10 | Android Enterprise Migration failed. Failure reason: The battery level is less than 30%. |
99 | Android Enterprise Migration failed. Failure reason: An unknown error other than the above occurred. |
Parameters
ACTION: panasonic.intent.action.MIGRATE_DEVICE_ENTERPRISE
EXTRA_DATA:
- Name 1: PROVISIONING_DATA
- Value 1: <provisioning-data> (Type String)
- Name 2: CLEAR_DEVICE_ADMIN
- Value 2: <clear-device-admin> (Type Boolean or Type String)
provisioning-data | It is a JSON character string created with parameters that defined by Android DevicePolicyManager. It is recommended to keep the size of the character string within 2KB. The following parameters can be used. ・EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME *Required ・EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION *Required ・EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM *Required ・EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED *Optional ・EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE *Optional ・EXTRA_PROVISIONING_LOCALE *Optional ・EXTRA_PROVISIONING_WIFI_SSID *Optional *For details of each parameter, refer to the following page. https://developers.google.com/android/work/play/emm-api/prov-devices#create_a_qr_code When sending an intent from a management console such as SOTI or AirWatch, some characters in the JSON string are used as delimiters for the intent parameter, so these characters must be replaced with other characters and use them. 1.One comma character (,) to 3 dot characters (...) *Required for AirWatch and SOTI 2.One equal character (=) to 3 question characters (???) *Required for AirWatch and SOTI 3.One double quotation character (") to one backslash character (\) and one double quotation character (") *Not need for AirWatch, but required for SOTI When using the EXTRA_PROVISIONING_WIFI_SSID parameter, do not add single quotation marks (') before or after the value (Wi-Fi access point name). (Double quotes can be added, but if they are not added, they will be added automatically on the terminal side.) |
clear-device-admin (option) | A Boolean or String flag that indicates whether to clear the existing Device Admins and its settings in the target device. ・true or “true”: Clear the existing Device Admins and its settings. The settings of the existing Device Admins cannot be inherited. If the existing Device Admin application is a third-party application (eg. SOTI or AirWatch), it will be uninstalled. ・false or “false” (default): Do not clear the existing Device Admins and its settings. The existing Device Admins and its settings will be inherited. If the device is already working with a third-party Device Admin application (eg. SOTI or AirWatch), specify this parameter as true. |
Sample Source Code
/*The following code shows how to receive the result of Android Enterprise migration.*/
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
int result = intent.getIntExtra("MIGRATING_ENTERPRISE_RESULT", -1);
...
}
};
IntentFilter filter = new IntentFilter();
filter.addAction("panasonic.intent.action.api.MIGRATING_ENTERPRISE_RESULT");
registerReceiver(receiver, filter);
/* The following code shows how to create provisioning data.
(Dummy data is used here.)
JSONObject json = new JSONObject();
json.put(DevicePolicyManager.EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED, true);
json.put(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME, "com.afwsamples.testdpc/com.afwsamples.testdpc.DeviceAdminReceive");
json.put(DevicePolicyManager.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION, "https://play.google.com/managed/downloadManagingApp?identifier=testdpc");
json.put(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM, "gJD2YwtOiWJHkSMkkIfLRlj-quNqG1fb6v100QmzM9w=");
String data = json.toString();
*/
// The following code shows how to send a broadcast intent for Android Enterprise migration.
// On a component that inherits Context, such as Activity or Service
Intent i = new Intent();
i.setAction("panasonic.intent.action.MIGRATE_DEVICE_ENTERPRISE");
i.putExtra("PROVISIONING_DATA", data);
i.putExtra("CLEAR_DEVICE_ADMIN", true);
// "CLEAR_DEVICE_ADMIN"
// Or use a string for "CLEAR_DEVICE_ADMIN", e.g,
// i.putExtra("CLEAR_DEVICE_ADMIN", “true”);
sendBroadcast(i);
Adb command sample
(1) SOTI(Device Owner)- Connect to the terminal with adb shell.
- Execute the following command (1 line) at the command prompt of adb shell.
am broadcast -a panasonic.intent.action.MIGRATE_DEVICE_ENTERPRISE --ez CLEAR_DEVICE_ADMIN true --es PROVISIONING_DATA
"{\"android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM\":
\"hn8mSNJMPcovWbnnWrb-uMpWZjNlNp-jyV_2A-Whumc=\",\"android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME\":
\"net.soti.mobicontrol.androidwork/net.soti.mobicontrol.admin.DeviceAdminAdapter\",
\"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION\":
\"http://soti.net/apk/ae2\",\"android.app.extra.PROVISIONING_SKIP_ENCRYPTION\":true,
\"android.app.extra.PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED\":true,
\"android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE\":{\"enrollmentId\":\"<Your Enrollment ID>\"}}"
* "--ez CLEAR_DEVICE_ADMIN true" can also be replaced with "--es CLEAR_DEVICE_ADMIN "true".
* Use the actual enrollment ID for the <Your Enrollment ID> part.
(2) AirWatch (Device Owner)
- Connect to the terminal with adb shell.
- Execute the following command (one line) at the command prompt of adb shell.
am broadcast -a panasonic.intent.action.MIGRATE_DEVICE_ENTERPRISE --ez CLEAR_DEVICE_ADMIN true --es PROVISIONING_DATA
"{\"android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME\":
\"com.airwatch.androidagent/com.airwatch.agent.DeviceAdministratorReceiver\",
\"android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM\":\"6kyqxDOjgS30jvQuzh4uvHPk-0bmAD-1QU7vtW7i_o8=\n\",
\"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION\":
\"http://discovery.awmdm.com/mobileenrollment/airwatchagent.apk\",\"android.app.extra.PROVISIONING_SKIP_ENCRYPTION\":
false,\"android.app.extra.PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED\":true,
\"android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE\":{\"serverurl\":\"<server-url>\",\"gid\":
\"<group-id>\",\"un\":\"<user-name>\",\"pw\":\"<password>\"}}"
* "--ez CLEAR_DEVICE_ADMIN true" can also be replaced with "--es CLEAR_DEVICE_ADMIN "true".
* For the <server-url> part, use the actual server address.
The cn504.awmdm.jp is usually used.
* For the <group-id> part, use the enrolling group name.
* For the <user-name> part, use the enrolling user name.
* For the <password> part, use the enrolling password.
Run command sample
When executing Android Enterprise Migration Intent with barcode or settings.db, use the command string like below. (Almost the same as the adb command string, but the encoding of the """ character is unnecessary)(1) SOTI(Device Owner)
am broadcast -a panasonic.intent.action.MIGRATE_DEVICE_ENTERPRISE --ez CLEAR_DEVICE_ADMIN true --es PROVISIONING_DATA
{"android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM":"hn8mSNJMPcovWbnnWrb-uMpWZjNlNp-jyV_2A-Whumc=",
"android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME":"net.soti.mobicontrol.androidwork
/net.soti.mobicontrol.admin.DeviceAdminAdapter",
"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION":
"http://soti.net/apk/ae2","android.app.extra.PROVISIONING_SKIP_ENCRYPTION":true,
"android.app.extra.PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED":true,
"android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE":
{"enrollmentId":"<Your Enrollment ID>"}}
* "--ez CLEAR_DEVICE_ADMIN true" can also be replaced with "--es CLEAR_DEVICE_ADMIN "true".
* Use the actual enrollment ID for the <Your Enrollment ID> part.
(2) AirWatch (Device Owner)
am broadcast -a panasonic.intent.action.MIGRATE_DEVICE_ENTERPRISE --ez CLEAR_DEVICE_ADMIN true --es PROVISIONING_DATA
{"android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME":
"com.airwatch.androidagent/com.airwatch.agent.DeviceAdministratorReceiver",
"android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM":"6kyqxDOjgS30jvQuzh4uvHPk-0bmAD-1QU7vtW7i_o8=\n",
"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION":
"http://discovery.awmdm.com/mobileenrollment/airwatchagent.apk","android.app.extra.PROVISIONING_SKIP_ENCRYPTION":false,
"android.app.extra.PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED":true,
"android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE":
{"serverurl":"<server-url>","gid":"<group-id>","un":"<user-name>","pw":"<password>"}}
* "--ez CLEAR_DEVICE_ADMIN true" can also be replaced with "--es CLEAR_DEVICE_ADMIN "true".
* For the <server-url> part, use the actual server address.
The cn504.awmdm.jp is usually used.
* For the <group-id> part, use the enrolling group name.
* For the <user-name> part, use the enrolling user name.
* For the <password> part, use the enrolling password.
Send intent from the web console
(1) SOTI(Device Owner)- Via panasonic.intent.action.SET_INTENT_ONEEXTRA
sendIntent -b "intent:#Intent;action=panasonic.intent.action.SET_INTENT_ONEEXTRA;S.INTENT_INFO=
{\”android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM\”:
\”hn8mSNJMPcovWbnnWrb-uMpWZjNlNp-jyV_2A-Whumc???\”...\”android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME\”:
\”net.soti.mobicontrol.androidwork/net.soti.mobicontrol.admin.DeviceAdminAdapter\”...
\”android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION\”:\”http://soti.net/apk/ae2\”...
\”android.app.extra.PROVISIONING_SKIP_ENCRYPTION\”:true...
\”android.app.extra.PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED\”:true...
\”android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE\”:{\”enrollmentId\”:\”<Your Enrollment ID>\”}};end;"
- Use Android Enterprise migration intent directly
sendIntent -b "intent:#Intent;action=panasonic.intent.action.MIGRATE_DEVICE_ENTERPRISE;B.CLEAR_DEVICE_ADMIN=true;
S.PROVISIONING_DATA={\”android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM\”:
\”hn8mSNJMPcovWbnnWrb-uMpWZjNlNp-jyV_2A-Whumc???\”...\”android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME\”:
\”net.soti.mobicontrol.androidwork/net.soti.mobicontrol.admin.DeviceAdminAdapter\”...
\”android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION\”:\”http://soti.net/apk/ae2\”...
\”android.app.extra.PROVISIONING_SKIP_ENCRYPTION\”:true...
\”android.app.extra.PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED\”:true...
\”android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE\”:{\”enrollmentId\”:\”<Your Enrollment ID>\”}};end;"
* "B.CLEAR_DEVICE_ADMIN" can also be replaced with "S.CLEAR_DEVICE_ADMIN”.
* Use the actual enrollment ID for the <Your Enrollment ID> part.
(2) AirWatch (Device Owner)
- Via panasonic.intent.action.SET_INTENT_ONEEXTRA
mode=implicit,broadcast=true,action=panasonic.intent.action.SET_INTENT_ONEEXTRA,extraString=INTENT_INFO=
action@@panasonic.intent.action.MIGRATE_DEVICE_ENTERPRISE@@extraString@@CLEAR_DEVICE_ADMIN@@true@@
extraString@@PROVISIONING_DATA@@{"android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME":
"com.airwatch.androidagent/com.airwatch.agent.DeviceAdministratorReceiver"...
"android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM":
"6kyqxDOjgS30jvQuzh4uvHPk-0bmAD-1QU7vtW7i_o8???\n"...
"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION":
"http://discovery.awmdm.com/mobileenrollment/airwatchagent.apk"...
"android.app.extra.PROVISIONING_SKIP_ENCRYPTION":false...
"android.app.extra.PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED":true...
"android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE":
{"serverurl":"<server-url>"..."gid":"<group-id>"..."un":"<user-name>"..."pw":"<password>"}}
- Use Android Enterprise migration intent directly
mode=implicit,broadcast=true,action=panasonic.intent.action.MIGRATE_DEVICE_ENTERPRISE,extraBoolean=
CLEAR_DEVICE_ADMIN=true,extraString=PROVISIONING_DATA=
{"android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME":"com.airwatch.androidagent/
com.airwatch.agent.DeviceAdministratorReceiver"...
"android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM":
"6kyqxDOjgS30jvQuzh4uvHPk-0bmAD-1QU7vtW7i_o8???\n"...
"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION":
"http://discovery.awmdm.com/mobileenrollment/airwatchagent.apk"...
"android.app.extra.PROVISIONING_SKIP_ENCRYPTION":false...
"android.app.extra.PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED":true...
"android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE":
{"serverurl":"<server-url>"..."gid":"<group-id>"..."un":
"<user-name>"..."pw":"<password>"}}
*"extraBoolean=CLEAR_DEVICE_ADMIN" can also be replaced with "extraString=CLEAR_DEVICE_ADMIN”.
* For the
The cn504.awmdm.jp is usually used.
* For the <group-id> part, use the enrolling group name.
* For the <user-name> part, use the enrolling user name.
* For the <password> part, use the enrolling password.
FactoryReset Settings
Support Model
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | - | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | - | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the procedure for erase all data(factory reset) using intent.
Functions
Function prototype
Change FactoryReset by designating the setting target function and the setting contents in the broadcast intent.
When the intent is sent, it will automatically restart and reset the terminal.
The definition of Intent is as follows.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <other-setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (option)
EXTRA_DATA:
Name: OTHER_SETTING_KEY
Value: <intent-key> (Type String)
Name: OTHER_SETTING_VALUE
Value: <other-setting-value> (Type String)
intent-key | other-setting-value | Description |
---|---|---|
MASTER_CLEAR | any character(not null) such as “1” | - |
Sample source code
// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "MASTER_CLEAR");
i.putExtra("OTHER_SETTING_VALUE", "1");
sendBroadcast(i);
Sample command
Following adb Command is a sample to broadcast an intent to change setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY MASTER_CLEAR --es OTHER_SETTING_VALUE 1
Volume Key Shortcut Settings
Support Model
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | - | ✓ | ✓ | - |
FZ-T1 | - | - | - | ✓ | - | - |
FZ-L1 | - | - | - | ✓ | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes the feature that change [Volume Key Shortcut] settings enabled/disabled in the device.
Functions
Function prototype
Change [Volume Key Shortcut] by designating the setting target function and the setting contents in the broadcast intent.
When the intent is sent, contents changes are applied without restarting the terminal.
The definition of Intent is as follows.
Intent i = new Intent();
i.setAction(ACTION);
i.setFlags(FLAG); // option
i.putExtra(NAME, <intent-key>);
i.putExtra(NAME, <setting-value>);
sendBroadcast(i);
Parameters
ACTION: panasonic.intent.action.SET_OTHER_SETTINGFLAG: Intent.FLAG_INCLUDE_STOPPED_PACKAGES (option)
EXTRA_DATA:
Name: OTHER_SETTING_KEY
Value: <intent-key> (Type String)
Name: OTHER_SETTING_VALUE
Value: <setting-value> (Type String)
intent-key | setting-value | Description |
---|---|---|
ACCESSIBILITY_SHORTCUT | Number | “1” – ON “0” – OFF Other – Ignored. |
Sample source code
// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("panasonic.intent.action.SET_OTHER_SETTING");
i.putExtra("OTHER_SETTING_KEY", "ACCESSIBILITY_SHORTCUT");
i.putExtra("OTHER_SETTING_VALUE", "1");
sendBroadcast(i);
Sample command
Following adb Command is a sample to broadcast an intent to change setting.// Run with adb usage environment in place
adb shell am broadcast -a panasonic.intent.action.SET_OTHER_SETTING --es OTHER_SETTING_KEY ACCESSIBILITY_SHORTCUT --es OTHER_SETTING_VALUE 1
SmartCardReader Power Setting
Supported Models
Target model | Android OS Version | |||||
---|---|---|---|---|---|---|
Android 4.x JellyBean | Android 5.x Lollipop | Android 6.x Marshmallow | Android 8.x Oreo | Android 9.x Pie | Android 10 | |
FZ-X1 | - | - | - | - | - | - |
FZ-N1 | - | - | - | - | - | - |
FZ-T1 | - | - | - | - | - | - |
FZ-L1 | - | - | - | - | - | - |
FZ-A3 | - | - | - | - | ✓ | - |
Introduction
This section describes how to change SmartCardReader power state by using Intent API.
Functions
Function prototype
This section describes how to change SmartCardReader power state by using Intent API.
There are three power states of SmartCardReader following:
ON : Turn on the SmartCardReader power state
OFF : Turn off the SmartCardReader power state
Application control : Accept SmartCardReader power control from the application
Intent i = new Intent();
i.setAction(ACTION);
sendBroadcast(i);
Parameters
ACTION:
com.panasonic.mobile.SWITCH_POWER_ON
com.panasonic.mobile.SWITCH_POWER_OFF
com.panasonic.mobile.SWITCH_POWER_AC
Sample source code
This Sample source code shows how to change SmartCardReader power state.// On a component that inherits Context, such as Activity
Intent i = new Intent();
i.setAction("com.panasonic.mobile.SWITCH_POWER_ON");
sendBroadcast(i);
Sample command
The following adb command is a sample to broadcast an intent to change the setting.// Run with adb usage environment in place
adb shell am broadcast -a com.panasonic.mobile.SWITCH_POWER_ON