Class Display
Central class for the API that manages rendering/events and is used to place top
level components (Form) on the "display".
This class handles the main thread for the toolkit referenced here on as the EDT (Event Dispatch Thread) similar to the Swing EDT. This thread encapsulates the platform specific event delivery and painting semantics and enables threading features such as animations etc...
The EDT should not be blocked since paint operations and events would also be blocked
in much the same way as they would be in other platforms. To serialize calls back
into the EDT, use the methods Display#callSerially & Display#callSeriallyAndWait.
Notice that all Codename One calls occur on the EDT (events, painting, animations, etc...), Codename One
should normally be manipulated on the EDT as well (hence the Display#callSerially &
Display#callSeriallyAndWait methods). Theoretically, it should be possible to manipulate
some Codename One features from other threads, but this can't be guaranteed to work for all use cases.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intIndicates that commands should be added to an always visible bar at the bottom of the form.static final intIdentical to the bar behavior, places the back command within the title bar of the form/dialgstatic final intPlaces all commands on the right side of the title bar with a uniform size grid layoutstatic final intIndicates that the Codename One implementation should decide internally the command behavior most appropriate for this platform.static final intCommands are placed in the same was as they are in the ice cream sandwich Android OS update where the back button has a theme icon the application icon appears next to thestatic final intIndicates that commands should try to add themselves to the native menusstatic final intCommands are placed in a side menu similar to Facebook/Google+ appsstatic final intIndicates the classic Codename One command behavior where the commands are placed in a list within a dialog.static final intIndicates the touch menu dialog rendered by Codename One where commands are placed into a scrollable dialogstatic final intGame action for down keystatic final intGame action for firestatic final intGame action for the left keystatic final intGame action for right keystatic final intGame action for UP keystatic final intAn attribute that encapsulates '#' int value.static final intHalf-QWERTY which needs software assistance for completionstatic final intNumeric keypad keyboard typestatic final intFull QWERTY keypad keyboard type, even if a numeric keyboard also existsstatic final intUnknown keyboard type is the default indicating the software should try to detect the keyboard type if necessarystatic final intA touch based device that doesn't have a physical keyboard.static final intSpecial case game key used for media playback eventsstatic final intSpecial case game key used for media playback eventsstatic final intSpecial case game key used for media playback eventsstatic final intSpecial case game key used for media playback eventsstatic final intSpecial case game key used for media playback eventsstatic final intSpecial case game key used for media playback eventsstatic final intSpecial case game key used for media playback eventsstatic final intSpecial case game key used for media playback eventsstatic final intAllow show to occur during edit and discard all user input at this momentstatic final intAllow show to occur during edit and save all user input at this momentstatic final intIf show is called while editing text in the native text box an exception is thrownstatic final intIgnore all calls to show occurring during edit, they are discarded immediatelystatic final intShow will update the current form to which the OK button of the text box will returnstatic final StringA common sound type that can be used with playBuiltinSoundstatic final StringA common sound type that can be used with playBuiltinSoundstatic final StringA common sound type that can be used with playBuiltinSoundstatic final StringA common sound type that can be used with playBuiltinSoundstatic final StringA common sound type that can be used with playBuiltinSoundstatic final StringA common sound type that can be used with playBuiltinSoundstatic final StringClient property key used on the first shownFormto indicate the desired initial window size as a percentage of the available desktop.Fields inherited from class CN1Constants
DENSITY_2HD, DENSITY_4K, DENSITY_560, DENSITY_HD, DENSITY_HIGH, DENSITY_LOW, DENSITY_MEDIUM, DENSITY_VERY_HIGH, DENSITY_VERY_LOW, GALLERY_ALL, GALLERY_ALL_MULTI, GALLERY_IMAGE, GALLERY_IMAGE_MULTI, GALLERY_VIDEO, GALLERY_VIDEO_MULTI, PICKER_TYPE_CALENDAR, PICKER_TYPE_DATE, PICKER_TYPE_DATE_AND_TIME, PICKER_TYPE_DURATION, PICKER_TYPE_DURATION_HOURS, PICKER_TYPE_DURATION_MINUTES, PICKER_TYPE_STRINGS, PICKER_TYPE_TIME, SMS_BOTH, SMS_INTERACTIVE, SMS_NOT_SUPPORTED, SMS_SEAMLESS -
Method Summary
Modifier and TypeMethodDescriptionvoidaddCompletionHandler(Media media, Runnable onCompletion) Adds a callback to a Media element that will be called when the media finishes playing.voidAn error handler will receive an action event with the source exception from the EDT once an error handler is installed the default Codename One error dialog will no longer appearvoidAdds a listener to receive messages from the native platform.voidAdds a listener for VirtualKeyboard hide/show events.voidAdds a listener to receive notifications about native window changes such as resize or movement.voidannounceForAccessibility(Component cmp, String text) Manually announces text to native accessibility services, optionally associating the announcement with a specific component.voidConvenience overload to announce text without specifying a component.booleanOn most platforms it is quite fast to draw on a mutable image and then render that image, however some platforms have much slower mutable images in comparison to just drawing on the screen.voidCauses the runnable to be invoked on the event dispatch thread.voidIdentical to callSerially with the added benefit of waiting for the Runnable method to complete.voidcallSeriallyAndWait(Runnable r, int timeout) Identical to callSerially with the added benefit of waiting for the Runnable method to complete.voidCauses the runnable to be invoked on the event dispatch thread when the event dispatch thread is idle.voidcancelLocalNotification(String notificationId) Cancels a local notification by ID.booleancanDial()Returns true if the device has dialing capabilitiescanExecute(String url) Returns true if executing this URL should work, returns false if it will not and null if this is unknown.booleanReturns true if the device allows forcing the orientation via code, feature phones do not allow this although some include a jad property allowing for this featurebooleanChecks to see if you can prompt the user to install the app on their homescreen.voidcaptureAudio(MediaRecorderBuilder recordingOptions, ActionListener response) This method tries to invoke the device native hardware to capture audio.voidcaptureAudio(ActionListener<ActionEvent> response) This method tries to invoke the device native hardware to capture audio.voidcapturePhoto(ActionListener response) This method tries to invoke the device native camera to capture images.Captures a screenshot of the screen.voidcaptureVideo(VideoCaptureConstraints constraints, ActionListener response) Same as#captureVideo(com.codename1.ui.events.ActionListener), except that it attempts to impose constraints on the capture.voidcaptureVideo(ActionListener response) This method tries to invoke the device native camera to capture video.Converts the given string from logical bidi layout to visual bidi layout so it can be rendered properly on the screen.intconvertToPixels(float dipCount) Converts the dips count to pixels, dips are roughly 1mm in length.intconvertToPixels(float value, byte unitType) Converts from specified unit to pixels.intconvertToPixels(float value, byte unitType, boolean horizontal) Converts from specified unit to pixels.intconvertToPixels(int dipCount, boolean horizontal) Converts the dips count to pixels, dips are roughly 1mm in length.voidcopyToClipboard(Object obj) Performs a clipboard copy operation, if the native clipboard is supported by the implementation it would be usedCreates an audio media that can be played in the background.Creates an audio media that can be played in the background.createContact(String firstName, String familyName, String officePhone, String homePhone, String cellPhone, String email) Create a contact to the device contacts bookcreateMedia(InputStream stream, String mimeType, Runnable onCompletion) Create the sound in the given stream Notice that an audio is "auto destroyed" on completion and cannot be played twice!createMedia(String uri, boolean isVideo, Runnable onCompletion) Creates a sound in the given URI which is partially platform specific.createMediaAsync(InputStream stream, String mimeType, Runnable onCompletion) createMediaAsync(String uri, boolean video, Runnable onCompletion) Creates media asynchronously.createMediaRecorder(MediaRecorderBuilder builder) Parameters
createMediaRecorder(String path) Creates a Media recorder Object which will record from the device mic to a file in the given path.createMediaRecorder(String path, String mimeType) Creates a Media recorder Object which will record from the device mic to a file in the given path.Creates a soft/weak reference to an object that allows it to be collected yet caches it.createThread(Runnable r, String name) Start a Codename One thread that supports crash protection and similar Codename One features.static voidCloses down the EDT and Codename One, under normal conditions this method is completely unnecessary since exiting the application will shut down Codename One.voidDeletes databasebooleandeleteContact(String id) removed a contact from the device contacts bookvoidStop receiving push notifications to this client applicationvoidOpens the device Dialer application with the given phone numbervoidRemoves the notification previously posted with the notify status bar methodvoidDispatches a message to all of the registered listeners.voideditString(Component cmp, int maxSize, int constraint, String text) Fires the native in place text editing logic, normally you wouldn't invoke this API directly and instead use an API likecom.codename1.ui.TextArea#startEditingAsync(),com.codename1.ui.TextArea#startEditing()orcom.codename1.ui.Form#setEditOnShow(com.codename1.ui.TextArea).voideditString(Component cmp, int maxSize, int constraint, String text, int initiatingKeycode) Fires the native in place text editing logic, normally you wouldn't invoke this API directly and instead use an API likecom.codename1.ui.TextArea#startEditingAsync(),com.codename1.ui.TextArea#startEditing()orcom.codename1.ui.Form#setEditOnShow(com.codename1.ui.TextArea).voidExecutes the given URL on the native platformvoidexecute(String url, ActionListener response) Executes the given URL on the native platform, this method is useful if the platform has the ability to send an event to the app when the execution has ended, currently this works only for Android platform to invoke other intents.booleanIndicates weather a database existsvoidExits the application...booleanTry to exit full-screen mode if the platform supports it.Extracts the hard reference from the soft/weak reference givenvoidfireVirtualKeyboardEvent(boolean show) Fires a virtual keyboard show event.voidDispatches a window change event to registered listeners.voidflashBacklight(int duration) Flash the backlight of the device for the given length of timegaussianBlurImage(Image image, float radius) Create a blur image from the given image.String[]getAllContacts(boolean withNumbers) Gets all contacts from the address book of the deviceContact[]getAllContacts(boolean withNumbers, boolean includesFullName, boolean includesPicture, boolean includesNumbers, boolean includesEmail, boolean includeAddress) Notice: this method might be very slow and should be invoked on a separate thread! It might have platform specific optimizations over getAllContacts followed by looping over individual contacts but that isn't guaranteed.String[]Gets the available recording MimeTypesintgetCharLocation(String source, int index) Returns the index of the given char within the source string, the actual index isn't necessarily the same when bidi is involved See this for more on visual vs.Returns the native implementation of the code scanner or nullintIndicates the way commands should be added to a form as one of the ocmmand constants defined in this classgetContactById(String id) Get a Contact according to it's contact id.getContactById(String id, boolean includesFullName, boolean includesPicture, boolean includesNumbers, boolean includesEmail, boolean includeAddress) This method returns a Contact by the contact id and fills it's data according to the given flags.The crash reporter gets invoked when an uncaught exception is interceptedReturn the form currently displayed on the screen or null if no form is currently displayed.getDatabasePath(String databaseName) Returns the file path of the Database if support for database exists on the platform.Get the default virtual keyboard or null if the VirtualKeyboard is disabledReturns the device density as a string.Returns the size of the desktop hosting the application window when running on a desktop platform.intReturns one of the density variables appropriate for this device, notice that density doesn't always correspond to resolution and an implementation might decide to change the density based on DPI constraints.intReturn the height of the displaygetDisplaySafeArea(Rectangle rect) Gets the display safe area as a rectangle.intReturn the width of the displayfloatgetDragSpeed(boolean yAxis) This method returns the dragging speed based on the latest dragged eventsintThis method allows us to manipulate the drag started detection logic.intIndicates the maximum frames the API will try to draw every secondintgetGameAction(int keyCode) Returns the game action code matching the given key combinationReturns the image IO instance that allows scaling image files.Returns the native OS purchase implementation if applicable, if unavailable this method will try to fallback to a custom purchase implementation and failing that will return nullgetInAppPurchase(boolean d) Deprecated
Returns the initial desktop window size hint provided by the first shown form, when available.static DisplayReturn the Display instanceintGets the invisible area under the Virtual Keyboard.intReturns the type of the input device one of: KEYBOARD_TYPE_UNKNOWN, KEYBOARD_TYPE_NUMERIC, KEYBOARD_TYPE_QWERTY, KEYBOARD_TYPE_VIRTUAL, KEYBOARD_TYPE_HALF_QWERTYintgetKeyCode(int gameAction) Returns the keycode matching the given game action constant (the opposite of getGameAction).floatReturns a scale factor representing how much larger system fonts should be.String[]Gets IDs of all contacts that are linked to a given contact.The localization manager allows adapting values for display in different locales thru parsing and formatting capabilities (similar to JavaSE's DateFormat/NumberFormat).This method returns the platform Location Manager used for geofencing.intLong pointer press is invoked after the given interval, this allows making long press events shorter/longerGets the recording mime type for the returned Media from the createMediaRecorder methodReturns the MSISDN for devices that expose itReturns the current content of the clipboardReturns a 2-3 letter code representing the platform name for the platform overrideString[]Returns the suffixes for ovr files that should be used when loading a layered resource file on this platformGets reference to plugin support object.intgetPreferredBackgroundFetchInterval(int seconds) Gets the preferred time (in seconds) between background fetches.Returns the build hints for the simulator, this will only work in the debug environment and it's designed to allow extensions/API's to verify user settings/build hints existgetProperty(String key, String defaultValue) Returns the property from the underlying platform deployment or the default value if no deployment values are supported.getResourceAsStream(Class cls, String resource) This method is essentially equivalent to cls.getResourceAsStream(String) however some platforms might define unique ways in which to load resources within the implementation.Gets a reference to an application-wide shared Javascript context that can be used for running Javascript commands.intReturns the status of the show during edit flagintIndicates the level of SMS support in the platform as one of:#SMS_NOT_SUPPORTED(for desktop, tablet etc.),#SMS_SEAMLESS(no UI interaction),#SMS_INTERACTIVE(with compose UI),#SMS_BOTH.getStackTrace(Thread parentThread, Throwable t) Returns the stack trace from the exception on the given thread.String[]Returns all platform supported virtual keyboards namesgetUdid()Returns the UDID for devices that support itGets the VirtualKeyboardListener Objects of exists.Returns the current window bounds when running on a desktop platform.booleanReturns true if the device has camera false otherwise.booleanThis method should be invoked by components that broadcast events on the pointerReleased callback.booleanIndicates if the implemenetation has a native underlying themevoidBroadcasts hide notify into Codename One, this method is invoked by the Codename One implementation to notify Codename One of hideNotify eventsstatic voidThis is the INTERNAL Display initialization method, it will be removed in future versions of the API.voidinstallBuiltinSound(String soundIdentifier, InputStream data) Installs a replacement sound as the builtin sound responsible for the given sound identifier (this will override the system sound if such a sound exists).voidInstalls the native theme, this is only applicable if hasNativeTheme() returned true.voidInvokes runnable and blocks the current thread, if the current thread is the EDT it will still be blocked in a way that doesn't break event dispatch .voidinvokeAndBlock(Runnable r, boolean dropEvents) Invokes runnable and blocks the current thread, if the current thread is the EDT it will still be blocked in a way that doesn't break event dispatch .voidInvokes a Runnable with blocking disabled.<T> TInvokes a RunnableWithResultSync with blocking disabled.booleanAllows a Codename One application to minimize without forcing it to the front whenever a new dialog is poped upbooleanChecks if the altgraph key is currently down.booleanChecks if the alt key is currently down.booleanNormally Codename One folds the VKB when switching forms this field allows us to block that behavior.booleanChecks to see if the current platform supports background fetch.booleanReturns true if the underlying OS supports numeric badges on icons.booleanIndicates whether Codename One should consider the bidi RTL algorithm when drawing text or navigating with the text field cursor.booleanisBuiltinSoundAvailable(String soundIdentifier) Indicates whether a user installed or system sound is availablebooleanAllows muting/unmuting the builtin sounds easilybooleanIndicates whether this platform can attempt to detect active phone-call interruptions.booleanIndicates whether the device has a double layer screen thus allowing two stages to touch events: click and hover.booleanSome platforms allow the user to block contacts access on a per application basis this method returns true if the user denied permission to access contacts.booleanChecks if the control key is currently down.Returns true if the platform is in dark mode, null is returned for unknown statusbooleanbooleanReturns true if this is a desktop applicationbooleanisEdt()Returns true if we are currently in the event dispatch thread.booleanChecks if async stack traces are enabled.booleanChecks if this platform supports full-screen mode.booleanisGalleryTypeSupported(int type) Checks to see if the given gallery type is supported on the current platform.booleanReturns true if gaussian blur is supported on this platformbooleanIndicates if the getAllContacts is platform optimized, notice that the method might still take seconds or more to run so you should still use a separate thread!booleanisInCall()Best-effort check for whether the platform currently believes an active phone call is interrupting the app.booleanChecks if the app is currently running in full-screen mode.static booleanThis method returns true if the Display is initialized.booleanReturns true if the system is currently in the process of transitioning between formsbooleanReturns true if this device is jailbroken or rooted, false if not or unknown.booleanReturns true if the user has selected larger type fonts in the system settings.booleanChecks if the meta key is currently down.booleanIndicates whether an application is minimizedbooleanWhen set to true Codename One allows multiple hardware keys to be pressed at once, this isn't on by default since it can trigger some complexities with UI navigation to/from native codebooleanIndicates whether the device supports multi-touch events, this is only relevant when touch events are supportedbooleanIndicates whether Codename One commands should be mapped to the native menusbooleanIndicates whether the device supports native in place editing in which case lightweight input logic shouldn't be used for input.booleanisNativePickerTypeSupported(int pickerType) Indicates whether the native picker dialog is supported for the given type which can include one of PICKER_TYPE_DATE_AND_TIME, PICKER_TYPE_TIME, PICKER_TYPE_DATEbooleanIndicates if the underlying platform supports sharing capabilitiesbooleanIndicates if the title of the Form is native title(in android ICS devices if the command behavior is native the ActionBar is used to display the title and the menu)booleanIndicates if the native video player includes its own play/pause etc.booleanIndicates whether the notify status bar method will present a notification to the userbooleanReturns true if the underlying OS supports opening the native navigation applicationbooleanReturns true if the device is currently in portrait modebooleanA pure touch device has no focus showing when the user is using the touch interface.booleanChecks if the last mouse press was a right click.booleanisRTL(char c) Returns true if the given character is an RTL characterbooleanChecks if the device supports disabling the screen display from dimming, allowing the developer to keep the screen display on.booleanChecks is the scroll-wheel mouse is currently scrolling.booleanChecks if shift key is currently down.booleanAllows detecting development mode so debugging code and special cases can be used to simplify flowbooleanisTablet()Indicates whether the device is a tablet, notice that this is often a guessbooleanIndicates whether the 3rd softbutton should be supported on this devicebooleanThe name of this method is misleading due to it's legacy.booleanIndicates if the virtual keyboard is currently showing or notvoidkeyPressed(int keyCode) Pushes a key press event with the given keycode into Codename OnevoidkeyReleased(int keyCode) Pushes a key release event with the given keycode into Codename OnevoidlockOrientation(boolean portrait) On devices that return true for canForceOrientation() this method can lock the device orientation either to portrait or landscape modebooleanMinimizes the current application if minimization is supported by the platform (may fail).voidNotifies the platform that push notification processing is complete.voidnotifyStatusBar(String tickerText, String contentTitle, String contentBody, boolean vibrate, boolean flashLights) Place a notification on the device status bar (if device has this functionality).notifyStatusBar(String tickerText, String contentTitle, String contentBody, boolean vibrate, boolean flashLights, Hashtable args) Place a notification on the device status bar (if device has this functionality).intReturn the number of alpha levels supported by the implementation.intReturns the number of colors applicable on the device, note that the API does not support gray scale devices.voidA callback fired when you are allowed to prompt the user to install the app on their homescreen.voidonEditingComplete(Component c, String text) Called by the underlying implementation to indicate that editing in the native system has completed and changes should propagate into Codename OnevoidopenGallery(ActionListener response, int type) Opens the device gallery to pick an image or a video.voidopenImageGallery(ActionListener response) Opens the device image gallery The method returns immediately and the response will be sent asynchronously to the given ActionListener ObjectvoidopenNativeNavigationApp(double latitude, double longitude) Opens the native navigation app in the given coordinate.voidopenNativeNavigationApp(String location) Opens the native navigation app with the given search locationopenOrCreate(String databaseName) Opens a database or create one if not exists.booleanChecks if this platform uses input modes.voidplayBuiltinSound(String soundIdentifier) Plays a builtin device sound matching the given identifier, implementations and themes can offer additional identifiers to the ones that are already built in.voidpointerDragged(int[] x, int[] y) Pushes a pointer drag event with the given coordinates into Codename OnevoidpointerHover(int[] x, int[] y) Pushes a pointer hover event with the given coordinates into Codename OnevoidpointerHoverPressed(int[] x, int[] y) Pushes a pointer hover release event with the given coordinates into Codename OnevoidpointerHoverReleased(int[] x, int[] y) Pushes a pointer hover release event with the given coordinates into Codename OnevoidpointerPressed(int[] x, int[] y) Pushes a pointer press event with the given coordinates into Codename OnevoidpointerReleased(int[] x, int[] y) Pushes a pointer release event with the given coordinates into Codename OnevoidpostMessage(MessageEvent message) Posts a message to the native platform.booleanPrompts the user to install this app on their homescreen.voidRefreshes the native list of contacts on devices that require this seecom.codename1.contacts.ContactsManager#refresh()voidif the title is native(e.g the android action bar), notify the native title that is needs to be refreshedvoidRegister to receive push notification, invoke this method once (ever) to receive push notifications.voidregisterPush(String id, boolean noFallback) User register to receive push notificationvoidregisterPush(Hashtable metaData, boolean noFallback) Register to receive push notification, invoke this method once (ever) to receive push notifications.voidRegister a virtual keyboardvoidremoveCompletionHandler(Media media, Runnable onCompletion) Removes onComplete callback from Media element.voidAn error handler will receive an action event with the source exception from the EDT once an error handler is installed the default Codename One error dialog will no longer appearvoidRemoves a listener from receiving messages from the native platform.voidRemoves a listener for VirtualKeyboard hide/show events.voidRemoves a previously registered window listener.booleanTry to enter full-screen mode if the platform supports it.voidRestore the minimized application if minimization is supported by the platformvoidRuns the last bookmark that was set using#setBookmark(java.lang.Runnable)voidAllows executing a background task in a separate low priority thread.voidscheduleLocalNotification(LocalNotification n, long firstTime, int repeat) Schedules a local notification that will occur after the given time elapsed.voidscreenshot(SuccessCallback<Image> callback) Captures a screenshot in the native layer which should include peer components as well.voidsendMessage(String[] recipients, String subject, Message msg) Send an email using the platform mail client.voidSends a SMS message to the given phone numbervoidSends a SMS message to the given phone number, the code below demonstrates the logic of detecting platform behavior for sending SMS.voidsetAllowMinimizing(boolean allowMinimizing) Allows a Codename One application to minimize without forcing it to the front whenever a new dialog is poped upvoidsetAutoFoldVKBOnFormSwitch(boolean autoFoldVKBOnFormSwitch) Normally Codename One folds the VKB when switching forms this field allows us to block that behavior.voidsetBadgeNumber(int number) Sets the number that appears on the application icon in iOSvoidsetBidiAlgorithm(boolean activate) Indicates whether Codename One should consider the bidi RTL algorithm when drawing text or navigating with the text field cursor.voidsetBookmark(Runnable bookmark) Sets a bookmark that can restore the app to a particular state.voidsetBuiltinSoundsEnabled(boolean enabled) Allows muting/unmuting the builtin sounds easilyvoidsetCommandBehavior(int commandBehavior) Indicates the way commands should be added to a form as one of the ocmmand constants defined in this classvoidsetCrashReporter(CrashReport crashReporter) The crash reporter gets invoked when an uncaught exception is interceptedvoidsetDarkMode(Boolean darkMode) Override the default dark mode settingvoidSets the default virtual keyboard to be used by the platformvoidsetDragStartPercentage(int dragStartPercentage) This method allows us to manipulate the drag started detection logic.voidsetEnableAsyncStackTraces(boolean enableAsyncStackTraces) Enables or disables async stack traces.voidsetFramerate(int rate) Indicates the maximum frames the API will try to draw every second by default this is set to 10.voidSets the initial desktop window size hint (percent of the desktop) that should be used when the first form is shown.setInterval(int period, Runnable r) Convenience method to schedule a task to run on the EDT after periodms repeating every periodms.voidsetLongPointerPressInterval(int v) Long pointer press is invoked after the given interval, this allows making long press events shorter/longervoidsetMultiKeyMode(boolean multiKeyMode) When set to true Codename One allows multiple hardware keys to be pressed at once, this isn't on by default since it can trigger some complexities with UI navigation to/from native codevoidsetNativeCommands(boolean nativeCommands) Indicates whether Codename One commands should be mapped to the native menusvoidsetNoSleep(boolean noSleep) Calling this method with noSleep=true will cause the edt to run without sleeping.voidsetPollingFrequency(int freq) Sets the frequency for polling the server in case of polling based push notificationvoidsetPreferredBackgroundFetchInterval(int seconds) Sets the preferred time interval between background fetches.voidsetProjectBuildHint(String key, String value) Sets a build hint into the settings while overwriting any previous value.voidsetProperty(String key, String value) Sets a local property to the application, this method has no effect on the implementation code and only allows the user to override the logic of getProperty for internal application purposes.voidsetPureTouch(boolean pureTouch) A pure touch device has no focus showing when the user is using the touch interface.voidsetScreenSaverEnabled(boolean e) If isScreenSaverDisableSupported() returns true calling this method will lock the screen display onvoidsetShowDuringEditBehavior(int showDuringEdit) Invoking the show() method of a form/dialog while the user is editing text in the native text box can have several behaviors: SHOW_DURING_EDIT_IGNORE, SHOW_DURING_EDIT_EXCEPTION, SHOW_DURING_EDIT_ALLOW_DISCARD, SHOW_DURING_EDIT_ALLOW_SAVE, SHOW_DURING_EDIT_SET_AS_NEXTvoidsetShowVirtualKeyboard(boolean show) Displays the virtual keyboard on devices that support manually poping up the vitual keyboardvoidsetThirdSoftButton(boolean thirdSoftButton) Indicates whether the 3rd softbutton should be supported on this devicesetTimeout(int timeout, Runnable r) Convenience method to schedule a task to run on the EDT after timeoutms.voidsetTouchScreenDevice(boolean touchScreen) Indicates if this is a touch screen device that will return pen events, defaults to true if the device has pen events but can be overriden by the developer.voidsetTransitionYield(int transitionD) Indicates whether a delay should exist between calls to flush graphics during transition.voidSets a listener for VirtualKeyboard hide/show events.voidsetWindowSize(int width, int height) Requests a resize of the application window when supported by the platform.voidShare the required information using the platform sharing services.voidShare the required information using the platform sharing services.voidShare the required information using the platform sharing services.booleanThis is an internal state flag relevant only for pureTouch mode (otherwise it will always be true).booleanThis is an internal state flag relevant only for pureTouch mode (otherwise it will always be true).showNativePicker(int type, Component source, Object currentValue, Object data) Shows a native modal dialog allowing us to perform the picking for the given type which can include one of PICKER_TYPE_DATE_AND_TIME, PICKER_TYPE_TIME, PICKER_TYPE_DATEvoidshowNativeScreen(Object nativeFullScreenPeer) Shows a native Form/Canvas or some other heavyweight native screenvoidBroadcasts show notify into Codename One, this method is invoked by the Codename One implementation to notify Codename One of showNotify eventsvoidsizeChanged(int w, int h) Notifies Codename One of display size changes, this method is invoked by the implementation class and is for internal usevoidStarts the remote control service.startThread(Runnable r, String name) Start a Codename One thread that supports crash protection and similar Codename One features.voidstopEditing(Component cmp) Allows us to stop editString on the given text componentvoidstopEditing(Component cmp, Runnable onFinish) Allows us to stop editString on the given text component or Form.voidStops the remote control service.voidThis is the reverse method for lock orientation allowing orientation lock to be disabledvoidvibrate(int duration) Vibrates the device for the given length of time, notice that this might ignore the time value completely on some OS's where this level of control isn't supported e.g.
-
Field Details
-
SOUND_TYPE_ALARM
A common sound type that can be used with playBuiltinSound- See Also:
-
SOUND_TYPE_CONFIRMATION
A common sound type that can be used with playBuiltinSound- See Also:
-
SOUND_TYPE_ERROR
A common sound type that can be used with playBuiltinSound- See Also:
-
SOUND_TYPE_INFO
A common sound type that can be used with playBuiltinSound- See Also:
-
SOUND_TYPE_WARNING
A common sound type that can be used with playBuiltinSound- See Also:
-
SOUND_TYPE_BUTTON_PRESS
A common sound type that can be used with playBuiltinSound- See Also:
-
KEYBOARD_TYPE_UNKNOWN
public static final int KEYBOARD_TYPE_UNKNOWNUnknown keyboard type is the default indicating the software should try to detect the keyboard type if necessary- See Also:
-
KEYBOARD_TYPE_NUMERIC
public static final int KEYBOARD_TYPE_NUMERICNumeric keypad keyboard type- See Also:
-
KEYBOARD_TYPE_QWERTY
public static final int KEYBOARD_TYPE_QWERTYFull QWERTY keypad keyboard type, even if a numeric keyboard also exists- See Also:
-
KEYBOARD_TYPE_VIRTUAL
public static final int KEYBOARD_TYPE_VIRTUALA touch based device that doesn't have a physical keyboard. Such a device pops up a virtual keyboad.- See Also:
-
KEYBOARD_TYPE_HALF_QWERTY
public static final int KEYBOARD_TYPE_HALF_QWERTYHalf-QWERTY which needs software assistance for completion- See Also:
-
GAME_FIRE
public static final int GAME_FIREGame action for fire- See Also:
-
GAME_LEFT
public static final int GAME_LEFTGame action for the left key- See Also:
-
GAME_RIGHT
public static final int GAME_RIGHTGame action for right key- See Also:
-
GAME_UP
public static final int GAME_UPGame action for UP key- See Also:
-
GAME_DOWN
public static final int GAME_DOWNGame action for down key- See Also:
-
MEDIA_KEY_SKIP_FORWARD
public static final int MEDIA_KEY_SKIP_FORWARDSpecial case game key used for media playback events- See Also:
-
MEDIA_KEY_SKIP_BACK
public static final int MEDIA_KEY_SKIP_BACKSpecial case game key used for media playback events- See Also:
-
MEDIA_KEY_PLAY
public static final int MEDIA_KEY_PLAYSpecial case game key used for media playback events- See Also:
-
MEDIA_KEY_STOP
public static final int MEDIA_KEY_STOPSpecial case game key used for media playback events- See Also:
-
MEDIA_KEY_PLAY_STOP
public static final int MEDIA_KEY_PLAY_STOPSpecial case game key used for media playback events- See Also:
-
MEDIA_KEY_PLAY_PAUSE
public static final int MEDIA_KEY_PLAY_PAUSESpecial case game key used for media playback events- See Also:
-
MEDIA_KEY_FAST_FORWARD
public static final int MEDIA_KEY_FAST_FORWARDSpecial case game key used for media playback events- See Also:
-
MEDIA_KEY_FAST_BACKWARD
public static final int MEDIA_KEY_FAST_BACKWARDSpecial case game key used for media playback events- See Also:
-
KEY_POUND
public static final int KEY_POUNDAn attribute that encapsulates '#' int value.- See Also:
-
SHOW_DURING_EDIT_IGNORE
public static final int SHOW_DURING_EDIT_IGNOREIgnore all calls to show occurring during edit, they are discarded immediately- See Also:
-
SHOW_DURING_EDIT_EXCEPTION
public static final int SHOW_DURING_EDIT_EXCEPTIONIf show is called while editing text in the native text box an exception is thrown- See Also:
-
SHOW_DURING_EDIT_ALLOW_DISCARD
public static final int SHOW_DURING_EDIT_ALLOW_DISCARDAllow show to occur during edit and discard all user input at this moment- See Also:
-
SHOW_DURING_EDIT_ALLOW_SAVE
public static final int SHOW_DURING_EDIT_ALLOW_SAVEAllow show to occur during edit and save all user input at this moment- See Also:
-
SHOW_DURING_EDIT_SET_AS_NEXT
public static final int SHOW_DURING_EDIT_SET_AS_NEXTShow will update the current form to which the OK button of the text box will return- See Also:
-
COMMAND_BEHAVIOR_DEFAULT
public static final int COMMAND_BEHAVIOR_DEFAULTIndicates that the Codename One implementation should decide internally the command behavior most appropriate for this platform.- See Also:
-
COMMAND_BEHAVIOR_SOFTKEY
public static final int COMMAND_BEHAVIOR_SOFTKEYIndicates the classic Codename One command behavior where the commands are placed in a list within a dialog. This is the most customizable approach for none touch devices.- See Also:
-
COMMAND_BEHAVIOR_TOUCH_MENU
public static final int COMMAND_BEHAVIOR_TOUCH_MENUIndicates the touch menu dialog rendered by Codename One where commands are placed into a scrollable dialog- See Also:
-
COMMAND_BEHAVIOR_BUTTON_BAR
public static final int COMMAND_BEHAVIOR_BUTTON_BARIndicates that commands should be added to an always visible bar at the bottom of the form.- See Also:
-
COMMAND_BEHAVIOR_BUTTON_BAR_TITLE_BACK
public static final int COMMAND_BEHAVIOR_BUTTON_BAR_TITLE_BACKIdentical to the bar behavior, places the back command within the title bar of the form/dialg- See Also:
-
COMMAND_BEHAVIOR_BUTTON_BAR_TITLE_RIGHT
public static final int COMMAND_BEHAVIOR_BUTTON_BAR_TITLE_RIGHTPlaces all commands on the right side of the title bar with a uniform size grid layout- See Also:
-
COMMAND_BEHAVIOR_ICS
public static final int COMMAND_BEHAVIOR_ICSCommands are placed in the same was as they are in the ice cream sandwich Android OS update where the back button has a theme icon the application icon appears next to the- See Also:
-
COMMAND_BEHAVIOR_SIDE_NAVIGATION
public static final int COMMAND_BEHAVIOR_SIDE_NAVIGATIONCommands are placed in a side menu similar to Facebook/Google+ apps- See Also:
-
COMMAND_BEHAVIOR_NATIVE
public static final int COMMAND_BEHAVIOR_NATIVEIndicates that commands should try to add themselves to the native menus- See Also:
-
WINDOW_SIZE_HINT_PERCENT
Client property key used on the first shownFormto indicate the desired initial window size as a percentage of the available desktop. The value should be acom.codename1.ui.geom.Dimensionwhose width and height represent percentages.- See Also:
-
-
Method Details
-
init
This is the INTERNAL Display initialization method, it will be removed in future versions of the API. This method must be called before any Form is shown
Parameters
m: platform specific object used by the implementation
Deprecated
this method is invoked internally do not invoke it!
-
deinitialize
public static void deinitialize()Closes down the EDT and Codename One, under normal conditions this method is completely unnecessary since exiting the application will shut down Codename One. However, if the application is minimized and the user wishes to free all resources without exiting the application then this method can be used. Once this method is used Codename One will no longer work and Display.init(Object) should be invoked again for any further Codename One call! Notice that minimize (being a Codename One method) MUST be invoked before invoking this method! -
isInitialized
public static boolean isInitialized()This method returns true if the Display is initialized.
Returns
true if the EDT is running
-
getInstance
Return the Display instance
Returns
the Display instance
-
setBookmark
Sets a bookmark that can restore the app to a particular state. This takes a
Runnablethat will be run when#restoreToBookmark()() } is called.The primary purpose of this feature is live code refresh.
Parameters
bookmark: ARunnablethat can be run to restore the app to a particular point.
Since
8.0
-
restoreToBookmark
public void restoreToBookmark()Runs the last bookmark that was set using
#setBookmark(java.lang.Runnable)Since
8.0
-
getPluginSupport
Gets reference to plugin support object.
Returns
The plugin support object.
Since
8.0
-
getDragStartPercentage
public int getDragStartPercentage()This method allows us to manipulate the drag started detection logic. If the pointer was dragged for more than this percentage of the display size it is safe to assume that a drag is in progress.
Returns
motion percentage
-
setDragStartPercentage
public void setDragStartPercentage(int dragStartPercentage) This method allows us to manipulate the drag started detection logic. If the pointer was dragged for more than this percentage of the display size it is safe to assume that a drag is in progress.
Parameters
dragStartPercentage: percentage of the screen required to initiate drag
-
setFramerate
public void setFramerate(int rate) Indicates the maximum frames the API will try to draw every second by default this is set to 10. The advantage of limiting framerate is to allow the CPU to perform other tasks besides drawing. Notice that when no change is occurring on the screen no frame is drawn and so a high/low FPS will have no effect then. 10FPS would be very reasonable for a business application.
Parameters
rate: the frame rate
-
vibrate
public void vibrate(int duration) Vibrates the device for the given length of time, notice that this might ignore the time value completely on some OS's where this level of control isn't supported e.g. iOS see: https://github.com/codenameone/CodenameOne/issues/1904
Parameters
duration: length of time to vibrate (might be ignored)
-
flashBacklight
public void flashBacklight(int duration) Flash the backlight of the device for the given length of time
Parameters
duration: length of time to flash the backlight
Deprecated
this refers to functionality of devices that are no longer sold, not to the devices "flash"
-
announceForAccessibility
Manually announces text to native accessibility services, optionally associating the announcement with a specific component. Most assistive technologies will announce a component automatically when it gains focus; this method is intended for situations where an announcement should occur independently of focus changes.
Parameters
-
cmp: the component related to this announcement ornullfor the root view -
text: the message to announce
-
-
announceForAccessibility
Convenience overload to announce text without specifying a component.
Parameters
text: the message to announce
-
getShowDuringEditBehavior
public int getShowDuringEditBehavior()Returns the status of the show during edit flag
Returns
- Returns:
one of the following: SHOW_DURING_EDIT_IGNORE, SHOW_DURING_EDIT_EXCEPTION, SHOW_DURING_EDIT_ALLOW_DISCARD, SHOW_DURING_EDIT_ALLOW_SAVE, SHOW_DURING_EDIT_SET_AS_NEXT
Deprecated
this method isn't applicable in modern devices
-
setShowDuringEditBehavior
public void setShowDuringEditBehavior(int showDuringEdit) Invoking the show() method of a form/dialog while the user is editing text in the native text box can have several behaviors: SHOW_DURING_EDIT_IGNORE, SHOW_DURING_EDIT_EXCEPTION, SHOW_DURING_EDIT_ALLOW_DISCARD, SHOW_DURING_EDIT_ALLOW_SAVE, SHOW_DURING_EDIT_SET_AS_NEXT
Parameters
showDuringEdit: @param showDuringEdit one of the following: SHOW_DURING_EDIT_IGNORE, SHOW_DURING_EDIT_EXCEPTION, SHOW_DURING_EDIT_ALLOW_DISCARD, SHOW_DURING_EDIT_ALLOW_SAVE, SHOW_DURING_EDIT_SET_AS_NEXT
Deprecated
this method isn't applicable in modern devices
-
getFrameRate
public int getFrameRate()Indicates the maximum frames the API will try to draw every second
Returns
the frame rate
-
isEdt
public boolean isEdt()Returns true if we are currently in the event dispatch thread. This is useful for generic code that can be used both with the EDT and outside of it.
Returns
- Returns:
- true if we are currently in the event dispatch thread; otherwise false
-
stopRemoteControl
public void stopRemoteControl()Stops the remote control service. This should be implemented in the platform to handle unbinding the
com.codename1.media.RemoteControlListenerwith the platform's remote control.This is executed when a new listener is registered using
com.codename1.media.MediaManager#setRemoteControlListener(com.codename1.media.RemoteControlListener)Since
7.0
-
startRemoteControl
public void startRemoteControl()Starts the remote control service. This should be implemented in the platform to handle binding the
RemoteControlListenerwith the platform's remote control.This is executed when the user registers a new listener using
MediaManager#setRemoteControlListener(com.codename1.media.RemoteControlListener)Since
7.0
-
isDarkMode
Returns true if the platform is in dark mode, null is returned for unknown status
Returns
true in case of dark mode
-
setDarkMode
Override the default dark mode setting
Parameters
darkMode: can be set to null to reset to platform default
-
isLargerTextEnabled
public boolean isLargerTextEnabled()Returns true if the user has selected larger type fonts in the system settings.
Returns
true when the platform indicates a larger text preference.
Since
7.1
-
getLargerTextScale
public float getLargerTextScale()Returns a scale factor representing how much larger system fonts should be. A value of
1.0indicates the default system font size.Returns
scale factor for larger system fonts.
Since
7.1
-
isEnableAsyncStackTraces
public boolean isEnableAsyncStackTraces()Checks if async stack traces are enabled. If enabled, the stack trace at the point of
#callSerially(java.lang.Runnable)calls will be recorded, and logged in the case that there is an uncaught exception.Currently this is only supported in the JavaSE/Simulator port.
Returns
Whether async stack traces are enabled.
Since
7.0
See also
- #setEnableAsyncStackTraces(boolean)
-
setEnableAsyncStackTraces
public void setEnableAsyncStackTraces(boolean enableAsyncStackTraces) Enables or disables async stack traces. If enabled, the stack trace at the point of
#callSerially(java.lang.Runnable)calls will be recorded, and logged in the case that there is an uncaught exception.Currently this is only supported in the JavaSE/Simulator port.
Parameters
enableAsyncStackTraces: True to enable async stack traces.
Since
7.0
See also
- #isEnableAsyncStackTraces()
-
callSerially
Causes the runnable to be invoked on the event dispatch thread. This method returns immediately and will not wait for the serial call to occur
Parameters
r: @param r runnable (NOT A THREAD!) that will be invoked on the EDT serial to the paint and key handling events
-
callSeriallyOnIdle
Causes the runnable to be invoked on the event dispatch thread when the event dispatch thread is idle. This method returns immediately and will not wait for the serial call to occur. Notice this method is identical to call serially but will perform the runnable only when the EDT is idle
Parameters
r: @param r runnable (NOT A THREAD!) that will be invoked on the EDT serial to the paint and key handling events
-
getLineSeparator
-
scheduleBackgroundTask
Allows executing a background task in a separate low priority thread. Tasks are serialized so they don't overload the CPU.
Parameters
r: the task to perform in the background
-
callSeriallyAndWait
Identical to callSerially with the added benefit of waiting for the Runnable method to complete.
Parameters
r: @param r runnable (NOT A THREAD!) that will be invoked on the EDT serial to the paint and key handling events
Throws
IllegalStateException: @throws IllegalStateException if this method is invoked on the event dispatch thread (e.g. during paint or event handling).
-
platformUsesInputMode
public boolean platformUsesInputMode()Checks if this platform uses input modes. No current platforms return true for this. It is a holdover from J2ME.
Returns
True if the platform supports input modes. Only true for J2ME and RIM.
-
callSeriallyAndWait
Identical to callSerially with the added benefit of waiting for the Runnable method to complete.
Parameters
-
r: @param r runnable (NOT A THREAD!) that will be invoked on the EDT serial to the paint and key handling events -
timeout: timeout duration, on timeout the method just returns
Throws
IllegalStateException: @throws IllegalStateException if this method is invoked on the event dispatch thread (e.g. during paint or event handling).
-
-
isInTransition
public boolean isInTransition()Returns true if the system is currently in the process of transitioning between forms
Returns
true if in the middle of form transition
-
getStackTrace
Returns the stack trace from the exception on the given thread. This API isn't supported on all platforms and may return a blank string when unavailable.
Parameters
-
parentThread: the thread in which the exception was thrown -
t: the exception
Returns
a stack trace string that might be blank
-
-
onEditingComplete
-
invokeWithoutBlocking
Invokes a Runnable with blocking disabled. If any attempt is made to block (i.e. call
#invokeAndBlock(java.lang.Runnable)from inside this Runnable, it will result in aBlockingDisallowedExceptionbeing thrown.Parameters
r: Runnable to be run immediately.
Throws
BlockingDisallowedException: @throws BlockingDisallowedException If#invokeAndBlock(java.lang.Runnable)is attempted anywhere in the Runnable.
Since
7.0
-
invokeWithoutBlockingWithResultSync
Invokes a RunnableWithResultSync with blocking disabled. If any attempt is made to block (i.e. call
#invokeAndBlock(java.lang.Runnable)from inside this Runnable, it will result in aBlockingDisallowedExceptionbeing thrown.Parameters
r: RunnableWithResultSync to be run immediately.
Throws
BlockingDisallowedException: @throws BlockingDisallowedException If#invokeAndBlock(java.lang.Runnable)is attempted anywhere in the Runnable.
Since
7.0
-
invokeAndBlock
Invokes runnable and blocks the current thread, if the current thread is the EDT it will still be blocked in a way that doesn't break event dispatch . Important: calling this method spawns a new thread that shouldn't access the UI!
See this section in the developer guide for further information.
Parameters
-
r: runnable (NOT A THREAD!) that will be invoked synchronously by this method -
dropEvents: @param dropEvents indicates if the display should drop all events while this runnable is running
Throws
BlockingDisallowedException: @throws BlockingDisallowedException if this method is called while blocking is disabled (i.e. we are running inside a call to#invokeWithoutBlocking(java.lang.Runnable)on the EDT).
-
-
invokeAndBlock
Invokes runnable and blocks the current thread, if the current thread is the EDT it will still be blocked in a way that doesn't break event dispatch . Important: calling this method spawns a new thread that shouldn't access the UI!
See this section in the developer guide for further information.
Parameters
r: runnable (NOT A THREAD!) that will be invoked synchroniously by this method
-
isTouchScreenDevice
public boolean isTouchScreenDevice()The name of this method is misleading due to it's legacy. It will return true on the desktop too where the mouse sends pointer events.
Returns
true if this device supports touch/pointer events
-
setTouchScreenDevice
public void setTouchScreenDevice(boolean touchScreen) Indicates if this is a touch screen device that will return pen events, defaults to true if the device has pen events but can be overriden by the developer.
Parameters
touchScreen: false if this is not a touch screen device
-
setNoSleep
public void setNoSleep(boolean noSleep) Calling this method with noSleep=true will cause the edt to run without sleeping.
Parameters
noSleep: causes the edt to stop the sleeping periods between 2 cycles
-
setTransitionYield
public void setTransitionYield(int transitionD) Indicates whether a delay should exist between calls to flush graphics during transition. In some devices flushGraphics is asynchronious causing it to be very slow with our background thread. The solution is to add a short wait allowing the implementation time to paint the screen. This value is set automatically by default but can be overriden for some devices.
Parameters
transitionD: -1 for no delay otherwise delay in milliseconds
-
editString
Fires the native in place text editing logic, normally you wouldn't invoke this API directly and instead use an API like
com.codename1.ui.TextArea#startEditingAsync(),com.codename1.ui.TextArea#startEditing()orcom.codename1.ui.Form#setEditOnShow(com.codename1.ui.TextArea).Parameters
-
cmp: theTextAreacomponent -
maxSize: the maximum size from the text area -
constraint: the constraints of the text area -
text: the string to edit
-
-
editString
public void editString(Component cmp, int maxSize, int constraint, String text, int initiatingKeycode) Fires the native in place text editing logic, normally you wouldn't invoke this API directly and instead use an API like
com.codename1.ui.TextArea#startEditingAsync(),com.codename1.ui.TextArea#startEditing()orcom.codename1.ui.Form#setEditOnShow(com.codename1.ui.TextArea).Parameters
-
cmp: theTextAreacomponent -
maxSize: the maximum size from the text area -
constraint: the constraints of the text area -
text: the string to edit -
initiatingKeycode: the keycode used to initiate the edit.
-
-
stopEditing
Allows us to stop editString on the given text component
Parameters
cmp: the text field/text area component
-
stopEditing
Allows us to stop editString on the given text component or Form. If cmp is a
Form, it will stop editing in any active component on the form, and close the keyboard if it is opened.Parameters
-
cmp: the text field/text area component -
onFinish: invoked when editing stopped
-
-
minimizeApplication
public boolean minimizeApplication()Minimizes the current application if minimization is supported by the platform (may fail). Returns false if minimization failed.
Returns
false if minimization failed true if it succeeded or seems to be successful
-
isMinimized
public boolean isMinimized()Indicates whether an application is minimized
Returns
true if the application is minimized
-
restoreMinimizedApplication
public void restoreMinimizedApplication()Restore the minimized application if minimization is supported by the platform -
isControlKeyDown
public boolean isControlKeyDown()Checks if the control key is currently down. Only relevant for desktop ports. -
isMetaKeyDown
public boolean isMetaKeyDown()Checks if the meta key is currently down. Only relevant for desktop ports. -
isAltKeyDown
public boolean isAltKeyDown()Checks if the alt key is currently down. Only relevant for desktop ports. -
isAltGraphKeyDown
public boolean isAltGraphKeyDown()Checks if the altgraph key is currently down. Only relevant for desktop ports. -
isRightMouseButtonDown
public boolean isRightMouseButtonDown()Checks if the last mouse press was a right click.
Returns
True if the last mouse press was a right click.
Since
7.0
-
isShiftKeyDown
public boolean isShiftKeyDown()Checks if shift key is currently down. Only relevant for desktop ports. -
keyPressed
public void keyPressed(int keyCode) Pushes a key press event with the given keycode into Codename One
Parameters
keyCode: keycode of the key event
-
keyReleased
public void keyReleased(int keyCode) Pushes a key release event with the given keycode into Codename One
Parameters
keyCode: keycode of the key event
-
pointerDragged
public void pointerDragged(int[] x, int[] y) Pushes a pointer drag event with the given coordinates into Codename One
Parameters
-
x: the x position of the pointer -
y: the y position of the pointer
-
-
pointerHover
public void pointerHover(int[] x, int[] y) Pushes a pointer hover event with the given coordinates into Codename One
Parameters
-
x: the x position of the pointer -
y: the y position of the pointer
-
-
pointerHoverPressed
public void pointerHoverPressed(int[] x, int[] y) Pushes a pointer hover release event with the given coordinates into Codename One
Parameters
-
x: the x position of the pointer -
y: the y position of the pointer
-
-
pointerHoverReleased
public void pointerHoverReleased(int[] x, int[] y) Pushes a pointer hover release event with the given coordinates into Codename One
Parameters
-
x: the x position of the pointer -
y: the y position of the pointer
-
-
pointerPressed
public void pointerPressed(int[] x, int[] y) Pushes a pointer press event with the given coordinates into Codename One
Parameters
-
x: the x position of the pointer -
y: the y position of the pointer
-
-
pointerReleased
public void pointerReleased(int[] x, int[] y) Pushes a pointer release event with the given coordinates into Codename One
Parameters
-
x: the x position of the pointer -
y: the y position of the pointer
-
-
sizeChanged
public void sizeChanged(int w, int h) Notifies Codename One of display size changes, this method is invoked by the implementation class and is for internal use
Parameters
-
w: the width of the drawing surface -
h: the height of the drawing surface
-
-
hideNotify
public void hideNotify()Broadcasts hide notify into Codename One, this method is invoked by the Codename One implementation to notify Codename One of hideNotify events -
showNotify
public void showNotify()Broadcasts show notify into Codename One, this method is invoked by the Codename One implementation to notify Codename One of showNotify events -
hasDragOccured
public boolean hasDragOccured()This method should be invoked by components that broadcast events on the pointerReleased callback. This method will indicate if a drag occured since the pointer press event, notice that this method will not behave as expected for multi-touch events.
Returns
true if a drag has occured since the last pointer pressed
-
getCurrent
Return the form currently displayed on the screen or null if no form is currently displayed.
Returns
- Returns:
- the form currently displayed on the screen or null if no form is currently displayed
-
numAlphaLevels
public int numAlphaLevels()Return the number of alpha levels supported by the implementation.
Returns
the number of alpha levels supported by the implementation
Deprecated
this method isn't implemented in most modern devices
-
numColors
public int numColors()Returns the number of colors applicable on the device, note that the API does not support gray scale devices.
Returns
the number of colors applicable on the device
Deprecated
this method isn't implemented in most modern devices
-
getDisplayWidth
public int getDisplayWidth()Return the width of the display
Returns
the width of the display
-
getDisplayHeight
public int getDisplayHeight()Return the height of the display
Returns
the height of the display
-
getDesktopSize
Returns the size of the desktop hosting the application window when running on a desktop platform.
Returns
the desktop size or the current display size if not supported
-
getWindowBounds
Returns the current window bounds when running on a desktop platform.
Returns
the bounds of the application window
-
setWindowSize
public void setWindowSize(int width, int height) Requests a resize of the application window when supported by the platform.
Parameters
-
width: the desired window width -
height: the desired window height
-
-
getInitialWindowSizeHintPercent
Returns the initial desktop window size hint provided by the first shown form, when available.
Returns
the stored hint or
null -
setInitialWindowSizeHintPercent
Sets the initial desktop window size hint (percent of the desktop) that should be used when the first form is shown. This is primarily useful for desktop environments where the Codename One application is hosted in a window rather than full-screen.
Parameters
hint: @param hint aDimensionwhose width/height represent percentages of the desktop to use for the initial window size, ornullto clear a previously stored hint
-
convertToPixels
public int convertToPixels(int dipCount, boolean horizontal) Converts the dips count to pixels, dips are roughly 1mm in length. This is a very rough estimate and not to be relied upon
Parameters
-
dipCount: the dips that we will convert to pixels -
horizontal: indicates pixels in the horizontal plane
Returns
value in pixels
-
-
convertToPixels
public int convertToPixels(float value, byte unitType) Converts from specified unit to pixels.
Parameters
-
value: The value to convert, expressed in unitType. -
unitType: @param unitType The unit type. One ofStyle#UNIT_TYPE_DIPS,Style#UNIT_TYPE_PIXELS,Style#UNIT_TYPE_REM,Style#UNIT_TYPE_SCREEN_PERCENTAGE,Style#UNIT_TYPE_VH,Style#UNIT_TYPE_VW,Style#UNIT_TYPE_VMIN,Style#UNIT_TYPE_VMAX
Returns
The value converted to pixels.
Since
8.0
-
-
convertToPixels
public int convertToPixels(float value, byte unitType, boolean horizontal) Converts from specified unit to pixels.
Parameters
-
value: The value to convert, expressed in unitType. -
unitType: @param unitType The unit type. One ofStyle#UNIT_TYPE_DIPS,Style#UNIT_TYPE_PIXELS,Style#UNIT_TYPE_REM,Style#UNIT_TYPE_SCREEN_PERCENTAGE,Style#UNIT_TYPE_VH,Style#UNIT_TYPE_VW,Style#UNIT_TYPE_VMIN,Style#UNIT_TYPE_VMAX -
horizontal: Whether screen percentage units should be based on horitonzal or vertical percentage.
Returns
The value converted to pixels.
Since
8.0
-
-
convertToPixels
public int convertToPixels(float dipCount) Converts the dips count to pixels, dips are roughly 1mm in length. This is a very rough estimate and not to be relied upon. This version of the method assumes square pixels which is pretty much the norm.
Parameters
dipCount: the dips that we will convert to pixels
Returns
value in pixels
-
getGameAction
public int getGameAction(int keyCode) Returns the game action code matching the given key combination
Parameters
keyCode: key code received from the event
Returns
game action matching this keycode
-
getKeyCode
public int getKeyCode(int gameAction) Returns the keycode matching the given game action constant (the opposite of getGameAction). On some devices getKeyCode returns numeric keypad values for game actions, this breaks the code since we filter these values (to prevent navigation on '2'). We pick unused negative values for game keys and assign them to game keys for getKeyCode so they will work with getGameAction.
Parameters
gameAction: game action constant from this class
Returns
keycode matching this constant
Deprecated
-
isThirdSoftButton
public boolean isThirdSoftButton()Indicates whether the 3rd softbutton should be supported on this device
Returns
true if a third softbutton should be used
-
setThirdSoftButton
public void setThirdSoftButton(boolean thirdSoftButton) Indicates whether the 3rd softbutton should be supported on this device
Parameters
thirdSoftButton: true if a third softbutton should be used
-
setShowVirtualKeyboard
public void setShowVirtualKeyboard(boolean show) Displays the virtual keyboard on devices that support manually poping up the vitual keyboard
Parameters
show: toggles the virtual keyboards visibility
Deprecated
-
isVirtualKeyboardShowing
public boolean isVirtualKeyboardShowing()Indicates if the virtual keyboard is currently showing or not
Returns
true if the virtual keyboard is showing
Deprecated
-
getSupportedVirtualKeyboard
Returns all platform supported virtual keyboards names
Returns
all platform supported virtual keyboards names
Deprecated
this method is only used in feature phones and has no modern equivalent
-
registerVirtualKeyboard
Register a virtual keyboard
Parameters
vkb
Deprecated
this method is only used in feature phones and has no modern equivalent
-
getDefaultVirtualKeyboard
Get the default virtual keyboard or null if the VirtualKeyboard is disabled
Returns
the default vkb
Deprecated
this method is only used in feature phones and has no modern equivalent
-
setDefaultVirtualKeyboard
Sets the default virtual keyboard to be used by the platform
Parameters
vkb: @param vkb a VirtualKeyboard to be used or null to disable the VirtualKeyboard
Deprecated
this method is only used in feature phones and has no modern equivalent
-
getVirtualKeyboardListener
Gets the VirtualKeyboardListener Objects of exists.
Returns
a Listener Object or null if not exists
Deprecated
Use
#removeVirtualKeyboardListener(com.codename1.ui.events.ActionListener) -
setVirtualKeyboardListener
Sets a listener for VirtualKeyboard hide/show events. The Listener will get an event once the keyboard is opened/closed with a Boolean value that represents the state of the keyboard true for open and false for closed getSource() on the ActionEvent will return the Boolean value.
Parameters
l: the listener
Deprecated
Use
#addVirtualKeyboardListener(com.codename1.ui.events.ActionListener) -
addVirtualKeyboardListener
Adds a listener for VirtualKeyboard hide/show events. ActionEvents will return a Boolean value for
ActionEvent#getSource(), with Boolean.TRUE on show, and Boolean.FALSE on hide.Note: Keyboard events may not be 100% reliable as they use heuristics on most platforms to guess when the keyboard is shown or hidden.
Parameters
l: The listener.
Since
6.0
See also
- #removeVirtualKeyboardListener(com.codename1.ui.events.ActionListener)
-
removeVirtualKeyboardListener
Removes a listener for VirtualKeyboard hide/show events. ActionEvents will return a Boolean value for
ActionEvent#getSource(), with Boolean.TRUE on show, and Boolean.FALSE on hide.Note: Keyboard events may not be 100% reliable as they use heuristics on most platforms to guess when the keyboard is shown or hidden.
Parameters
l: The listener.
Since
6.0
See also
- #addVirtualKeyboardListener(com.codename1.ui.events.ActionListener)
-
fireVirtualKeyboardEvent
public void fireVirtualKeyboardEvent(boolean show) Fires a virtual keyboard show event.
Parameters
show
Since
6.0
-
getInvisibleAreaUnderVKB
public int getInvisibleAreaUnderVKB()Gets the invisible area under the Virtual Keyboard.
Returns
Height of the VKB that overlaps the screen.
Since
6.0
-
getKeyboardType
public int getKeyboardType()Returns the type of the input device one of: KEYBOARD_TYPE_UNKNOWN, KEYBOARD_TYPE_NUMERIC, KEYBOARD_TYPE_QWERTY, KEYBOARD_TYPE_VIRTUAL, KEYBOARD_TYPE_HALF_QWERTY
Returns
KEYBOARD_TYPE_UNKNOWN
-
isNativeInputSupported
public boolean isNativeInputSupported()Indicates whether the device supports native in place editing in which case lightweight input logic shouldn't be used for input.
Returns
false by default
-
isMultiTouch
public boolean isMultiTouch()Indicates whether the device supports multi-touch events, this is only relevant when touch events are supported
Returns
false by default
-
isClickTouchScreen
public boolean isClickTouchScreen()Indicates whether the device has a double layer screen thus allowing two stages to touch events: click and hover. This is true for devices such as the storm but can also be true for a PC with a mouse pointer floating on top.
A click touch screen will also send pointer hover events to the underlying software and will only send the standard pointer events on click.
Returns
false by default
-
getDragSpeed
public float getDragSpeed(boolean yAxis) This method returns the dragging speed based on the latest dragged events
Parameters
yAxis: indicates what axis speed is required
Returns
the dragging speed
-
isBidiAlgorithm
public boolean isBidiAlgorithm()Indicates whether Codename One should consider the bidi RTL algorithm when drawing text or navigating with the text field cursor.
Returns
true if the bidi algorithm should be considered
-
setBidiAlgorithm
public void setBidiAlgorithm(boolean activate) Indicates whether Codename One should consider the bidi RTL algorithm when drawing text or navigating with the text field cursor.
Parameters
activate: @param activate set to true to activate the bidi algorithm, false to disable it
-
convertBidiLogicalToVisual
Converts the given string from logical bidi layout to visual bidi layout so it can be rendered properly on the screen. This method is only necessary for devices/platforms that don't have "built in" bidi support such as Sony Ericsson devices. See this for more on visual vs. logical ordering.
Parameters
s: a "logical" string with RTL characters
Returns
a "visual" renderable string
-
getCharLocation
Returns the index of the given char within the source string, the actual index isn't necessarily the same when bidi is involved See this for more on visual vs. logical ordering.
Parameters
-
source: the string in which we are looking for the position -
index: the "logical" location of the cursor
Returns
the "visual" location of the cursor
-
-
isRTL
public boolean isRTL(char c) Returns true if the given character is an RTL character
Parameters
c: character to test
Returns
true if the charcter is an RTL character
-
getResourceAsStream
This method is essentially equivalent to cls.getResourceAsStream(String) however some platforms might define unique ways in which to load resources within the implementation.
Parameters
-
cls: class to load the resource from -
resource: relative/absolute URL based on the Java convention
Returns
input stream for the resource or null if not found
-
-
addEdtErrorHandler
An error handler will receive an action event with the source exception from the EDT once an error handler is installed the default Codename One error dialog will no longer appear
Parameters
e: listener receiving the errors
-
removeEdtErrorHandler
An error handler will receive an action event with the source exception from the EDT once an error handler is installed the default Codename One error dialog will no longer appear
Parameters
e: listener receiving the errors
-
isAllowMinimizing
public boolean isAllowMinimizing()Allows a Codename One application to minimize without forcing it to the front whenever a new dialog is poped up
Returns
allowMinimizing value
-
setAllowMinimizing
public void setAllowMinimizing(boolean allowMinimizing) Allows a Codename One application to minimize without forcing it to the front whenever a new dialog is poped up
Parameters
allowMinimizing: value
-
shouldRenderSelection
public boolean shouldRenderSelection()This is an internal state flag relevant only for pureTouch mode (otherwise it will always be true). A pureTouch mode is stopped if a user switches to using the trackball/navigation pad and this flag essentially toggles between those two modes.
Returns
the shouldRenderSelection
-
shouldRenderSelection
This is an internal state flag relevant only for pureTouch mode (otherwise it will always be true). A pureTouch mode is stopped if a user switches to using the trackball/navigation pad and this flag essentially toggles between those two modes.
Parameters
c: the component to test against, this prevents a touch outside of the component that triggers a repaint from painting the component selection
Returns
the shouldRenderSelection
-
isPureTouch
public boolean isPureTouch()A pure touch device has no focus showing when the user is using the touch interface. Selection only shows when the user actually touches the screen or suddenly switches to using a keypad/trackball. This sort of interface is common in Android devices
Returns
the pureTouch flag
-
setPureTouch
public void setPureTouch(boolean pureTouch) A pure touch device has no focus showing when the user is using the touch interface. Selection only shows when the user actually touches the screen or suddenly switches to using a keypad/trackball. This sort of interface is common in Android devices
Parameters
pureTouch: the value for pureTouch
-
isNativeCommands
public boolean isNativeCommands()Indicates whether Codename One commands should be mapped to the native menus
Returns
the nativeCommands status
Deprecated
use getCommandBehavior() == Display.COMMAND_BEHAVIOR_NATIVE
-
setNativeCommands
public void setNativeCommands(boolean nativeCommands) Indicates whether Codename One commands should be mapped to the native menus
Parameters
nativeCommands: the flag to set
Deprecated
use setCommandBehavior(Display.COMMAND_BEHAVIOR_NATIVE)
-
exitApplication
public void exitApplication()Exits the application... -
isFullScreenSupported
public boolean isFullScreenSupported()Checks if this platform supports full-screen mode. If full-screen mode is supported, you can use the
#requestFullScreen(),#exitFullScreen(), and#isInFullScreenMode()methods to enter and exit full-screen - and query the current state.Currently only desktop and Javascript builds support full-screen mode; And Javascript only supports this on certain browsers. See the MDN Fullscreen API docs for a list of browsers that support full-screen.
When running in the simulator, full-screen is only supported for the desktop skin.
Returns
true if Full-screen mode is supported on this platform.
Since
6.0
See also
-
#requestFullScreen()
-
#exitFullScreen()
-
#isInFullScreenMode()
-
-
requestFullScreen
public boolean requestFullScreen()Try to enter full-screen mode if the platform supports it.
Currently only desktop and Javascript builds support full-screen mode; And Javascript only supports this on certain browsers. See the MDN Fullscreen API docs for a list of browsers that support full-screen.
When running in the simulator, full-screen is only supported for the desktop skin.
Returns
- Returns:
true on success. This will also return true if the app is already running in full-screen mode. It will return false if the app fails to enter full-screen mode.
Since
6.0
See also
-
#exitFullScreen()
-
#isInFullScreenMode()
-
#isFullScreenSupported()
-
-
exitFullScreen
public boolean exitFullScreen()Try to exit full-screen mode if the platform supports it.
Currently only desktop and Javascript builds support full-screen mode; And Javascript only supports this on certain browsers. See the MDN Fullscreen API docs for a list of browsers that support full-screen.
When running in the simulator, full-screen is only supported for the desktop skin.
Returns
- Returns:
true on success. This will also return true if the app is already NOT in full-screen mode. It will return false if the app fails to exit full-screen mode.
Since
6.0
See also
-
#requestFullScreen()
-
#isInFullScreenMode()
-
#isFullScreenSupported()
-
-
isInFullScreenMode
public boolean isInFullScreenMode()Checks if the app is currently running in full-screen mode.
Returns
true if the app is currently in full-screen mode.
Since
6.0
See also
-
#requestFullScreen()
-
#exitFullScreen()
-
#isFullScreenSupported()
-
-
showNativeScreen
Shows a native Form/Canvas or some other heavyweight native screen
Parameters
nativeFullScreenPeer: the native screen peer
-
isAutoFoldVKBOnFormSwitch
public boolean isAutoFoldVKBOnFormSwitch()Normally Codename One folds the VKB when switching forms this field allows us to block that behavior.
Returns
the autoFoldVKBOnFormSwitch
-
setAutoFoldVKBOnFormSwitch
public void setAutoFoldVKBOnFormSwitch(boolean autoFoldVKBOnFormSwitch) Normally Codename One folds the VKB when switching forms this field allows us to block that behavior.
Parameters
autoFoldVKBOnFormSwitch: the autoFoldVKBOnFormSwitch to set
-
getCommandBehavior
public int getCommandBehavior()Indicates the way commands should be added to a form as one of the ocmmand constants defined in this class
Returns
the commandBehavior
Deprecated
-
setCommandBehavior
public void setCommandBehavior(int commandBehavior) Indicates the way commands should be added to a form as one of the ocmmand constants defined in this class
Parameters
commandBehavior: the commandBehavior to set
Deprecated
-
postMessage
Posts a message to the native platform. Different platforms may handle messages posted this way differently.
The Javascript port will dispatch the message on the window object as a custom DOM event named 'cn1outbox', with the event data containing a 'detail' key with the message, and a 'code' key with the code.
Parameters
message: The message.
Since
7.0
-
addMessageListener
Adds a listener to receive messages from the native platform. This is one mechanism for the native platform to communicate with the Codename one app.
In the JavaScript port, listeners will be notified when DOM events named 'cn1inbox' are received on the window object. The event data 'detail' key will be the source of the message, and the 'code' key will be the source of the code.
Parameters
l: The listener.
Since
7.0
-
removeMessageListener
Removes a listener from receiving messages from the native platform.
Parameters
l: The listener.
Since
7.0
-
dispatchMessage
Dispatches a message to all of the registered listeners.
Parameters
evt
Since
7.0
See also
-
#addMessageListener(com.codename1.ui.events.ActionListener)
-
#removeMessageListener(com.codename1.ui.events.ActionListener)
-
addWindowListener
Adds a listener to receive notifications about native window changes such as resize or movement.
Parameters
l: the listener to add
-
removeWindowListener
Removes a previously registered window listener.
Parameters
l: the listener to remove
-
fireWindowEvent
Dispatches a window change event to registered listeners. This method is intended to be invoked by platform implementations.
Parameters
evt: the window event to dispatch
-
getProperty
Returns the property from the underlying platform deployment or the default value if no deployment values are supported. This is equivalent to the getAppProperty from the jad file.
The implementation should be responsible for the following keys to return reasonable valid values for the application:
-
AppName
-
User-Agent
-
AppVersion
-
Platform - Similar to microedition.platform
-
OS - returns what is the underlying platform e.g. - iOS, Android, RIM, SE...
-
OSVer - OS version when available as a user readable string (not necessarily a number e.g: 3.2.1).
Parameters
-
key: the key of the property -
defaultValue: a default return value
Returns
the value of the property
-
-
setProperty
Sets a local property to the application, this method has no effect on the implementation code and only allows the user to override the logic of getProperty for internal application purposes.
Parameters
-
key: key the key of the property -
value: the value of the property
-
-
canExecute
Returns true if executing this URL should work, returns false if it will not and null if this is unknown.
Boolean can = Display.getInstance().canExecute("imdb:///find?q=godfather"); if(can != null && can) { Display.getInstance().execute("imdb:///find?q=godfather"); } else { Display.getInstance().execute("http://www.imdb.com"); }Parameters
url: the url that would be executed
Returns
- Returns:
- true if executing this URL should work, returns false if it will not and null if this is unknown
-
execute
Executes the given URL on the native platform
Boolean can = Display.getInstance().canExecute("imdb:///find?q=godfather"); if(can != null && can) { Display.getInstance().execute("imdb:///find?q=godfather"); } else { Display.getInstance().execute("http://www.imdb.com"); }Parameters
url: the url to execute
-
execute
Executes the given URL on the native platform, this method is useful if the platform has the ability to send an event to the app when the execution has ended, currently this works only for Android platform to invoke other intents.
Parameters
-
url: the url to execute -
response: @param response a callback from the platform when this execution returned to the application
-
-
getDeviceDensity
public int getDeviceDensity()Returns one of the density variables appropriate for this device, notice that density doesn't always correspond to resolution and an implementation might decide to change the density based on DPI constraints.
Returns
one of the DENSITY constants of Display
-
getDensityStr
Returns the device density as a string.
-
DENSITY_VERY_LOW : "very-low"
-
DENSITY_LOW : "low"
-
DENSITY_MEDIUM : "medium"
-
DENSITY_HIGH : "high"
-
DENSITY_VERY_HIGH : "very-high"
-
DENSITY_HD : "hd"
-
DENSITY_560 : "560"
-
DENSITY_2HD : "2hd"
-
DENSITY_4K : "4k";
Returns
Device density as a string.
Since
7.0
See also
- #getDeviceDensity()
-
-
playBuiltinSound
Plays a builtin device sound matching the given identifier, implementations and themes can offer additional identifiers to the ones that are already built in.
Parameters
soundIdentifier: @param soundIdentifier the sound identifier which can match one of the common constants in this class or be a user/implementation defined sound
Deprecated
this isn't supported on most platforms
-
getDisplaySafeArea
-
installBuiltinSound
Installs a replacement sound as the builtin sound responsible for the given sound identifier (this will override the system sound if such a sound exists).
Parameters
-
soundIdentifier: the sound string passed to playBuiltinSound -
data: @param data an input stream containing platform specific audio file, its usually safe to assume that wav/mp3 would be supported.
Throws
IOException: if the stream throws an exception
- Throws:
IOException
-
-
isBuiltinSoundAvailable
Indicates whether a user installed or system sound is available
Parameters
soundIdentifier: the sound string passed to playBuiltinSound
Returns
true if a sound of this given type is avilable
Deprecated
this isn't supported on most platforms
-
isBuiltinSoundsEnabled
public boolean isBuiltinSoundsEnabled()Allows muting/unmuting the builtin sounds easily
Returns
true if the sound is not muted
-
setBuiltinSoundsEnabled
public void setBuiltinSoundsEnabled(boolean enabled) Allows muting/unmuting the builtin sounds easily
Parameters
enabled: indicates whether the sound is muted
-
createMedia
Creates a sound in the given URI which is partially platform specific. Notice that an audio is "auto destroyed" on completion and cannot be played twice!
Parameters
-
uri: the platform specific location for the sound -
onCompletion: invoked when the audio file finishes playing, may be null
Returns
a handle that can be used to control the playback of the audio
Throws
java.io.IOException: if the URI access fails
- Throws:
IOException
-
-
createMediaAsync
Creates media asynchronously.
Parameters
-
uri: the platform specific location for the sound -
onCompletion: invoked when the audio file finishes playing, may be null
Returns
a handle that can be used to control the playback of the audio
Since
7.0
-
-
addCompletionHandler
Adds a callback to a Media element that will be called when the media finishes playing.
Parameters
-
media: The media to add the callback to. -
onCompletion: The callback that will run on the EDT when the playback completes.
See also
- #removeCompletionHandler(com.codename1.media.Media, java.lang.Runnable)
-
-
removeCompletionHandler
-
createMedia
public Media createMedia(InputStream stream, String mimeType, Runnable onCompletion) throws IOException Create the sound in the given stream Notice that an audio is "auto destroyed" on completion and cannot be played twice!
Parameters
-
stream: the stream containing the media data -
mimeType: the type of the data in the stream -
onCompletion: invoked when the audio file finishes playing, may be null
Returns
a handle that can be used to control the playback of the audio
Throws
java.io.IOException: if the URI access fails
- Throws:
IOException
-
-
createMediaAsync
public AsyncResource<Media> createMediaAsync(InputStream stream, String mimeType, Runnable onCompletion) -
createSoftWeakRef
Creates a soft/weak reference to an object that allows it to be collected yet caches it. This method is in the porting layer since CLDC only includes weak references while some platforms include nothing at all and some include the superior soft references.
Parameters
o: object to cache
Returns
a caching object or null if caching isn't supported
-
extractHardRef
-
hasNativeTheme
public boolean hasNativeTheme()Indicates if the implemenetation has a native underlying theme
Returns
true if the implementation has a native theme available
-
installNativeTheme
public void installNativeTheme()Installs the native theme, this is only applicable if hasNativeTheme() returned true. Notice that this method might replace the DefaultLookAndFeel instance and the default transitions. -
copyToClipboard
Performs a clipboard copy operation, if the native clipboard is supported by the implementation it would be used
Parameters
obj: @param obj object to copy, while this can be any arbitrary object it is recommended that only Strings or Codename One image objects be used to copy
-
getPasteDataFromClipboard
Returns the current content of the clipboard
Returns
can be any object or null see copyToClipboard
-
isPortrait
public boolean isPortrait()Returns true if the device is currently in portrait mode
Returns
true if the device is in portrait mode
-
canForceOrientation
public boolean canForceOrientation()Returns true if the device allows forcing the orientation via code, feature phones do not allow this although some include a jad property allowing for this feature
Since version 6.0, orientation lock is supported in Javascript builds in some browsers. For a full list of browsers the support locking orientation, see the MDN Lock Orientation docs.
NOTE: In Javascript builds, orientation lock is only supported if the app is running in full-screen mode. If the app is not currently in full-screen mode, then
#canForceOrientation()will return false and#lockOrientation(boolean)will do nothing.Returns
true if lockOrientation would work
See also
-
#lockOrientation(boolean)
-
#unlockOrientation()
-
-
lockOrientation
public void lockOrientation(boolean portrait) On devices that return true for canForceOrientation() this method can lock the device orientation either to portrait or landscape mode
Since version 6.0, orientation lock is supported in Javascript builds in some browsers. For a full list of browsers the support locking orientation, see the MDN Lock Orientation docs.
NOTE: In Javascript builds, orientation lock is only supported if the app is running in full-screen mode. If the app is not currently in full-screen mode, then
#canForceOrientation()will return false and#lockOrientation(boolean)will do nothing.Parameters
portrait: true to lock to portrait mode, false to lock to landscape mode
See also
-
#unlockOrientation()
-
#canForceOrientation()
-
unlockOrientation
public void unlockOrientation()This is the reverse method for lock orientation allowing orientation lock to be disabled
Since version 6.0, orientation lock is supported in Javascript builds in some browsers. For a full list of browsers the support locking orientation, see the MDN Lock Orientation docs.
NOTE: In Javascript builds, orientation lock is only supported if the app is running in full-screen mode. If the app is not currently in full-screen mode, then
#canForceOrientation()will return false and#lockOrientation(boolean)will do nothing.See also
-
#lockOrientation(boolean)
-
#canForceOrientation()
-
-
isTablet
public boolean isTablet()Indicates whether the device is a tablet, notice that this is often a guess
Returns
true if the device is assumed to be a tablet
-
isDesktop
public boolean isDesktop()Returns true if this is a desktop application
Returns
true if this is a desktop application
-
canDial
public boolean canDial()Returns true if the device has dialing capabilities
Returns
false if it cannot dial
-
areMutableImagesFast
public boolean areMutableImagesFast()On most platforms it is quite fast to draw on a mutable image and then render that image, however some platforms have much slower mutable images in comparison to just drawing on the screen. These platforms should return false here and Codename One will try to use less mutable image related optimizations in transitions and other operations.
Returns
true if mutable images are fast on this platform
-
getLocationManager
This method returns the platform Location Manager used for geofencing. This allows tracking the user location in the background. Usage:
// File: BGLocationTest.java public void showForm() { Form hi = new Form("Hi World"); hi.addComponent(new Label("Hi World")); Location loc = new Location(); loc.setLatitude(51.5033630); loc.setLongitude(-0.1276250); Geofence gf = new Geofence("test", loc, 100, 100000); LocationManager.getLocationManager().addGeoFencing(GeofenceListenerImpl.class, gf); hi.show(); }// File: GeofenceListenerImpl.java public class GeofenceListenerImpl implements GeofenceListener { public void onExit(String id) { System.out.println("Exited "+id); } public void onEntered(String id) { System.out.println("Entered "+id); } }`public class GeofenceListenerImpl implements GeofenceListener { public void onExit(String id) { System.out.println("Exited "+id);` public void onEntered(String id) { System.out.println("Entered "+id); } } Form hi = new Form("Hi World"); hi.addComponent(new Label("Hi World")); Location loc = new Location(); loc.setLatitude(51.5033630); loc.setLongitude(-0.1276250); Geofence gf = new Geofence("test", loc, 100, 100000); LocationManager.getLocationManager().addGeoFencing(GeofenceListenerImpl.class, gf); hi.show();}Returns
LocationManager Object
-
capturePhoto
This method tries to invoke the device native camera to capture images. The method returns immediately and the response will be sent asynchronously to the given ActionListener Object The image is saved as a jpeg to a file on the device.
use this in the actionPerformed to retrieve the file path String path = (String) evt.getSource();
if evt returns null the image capture was cancelled by the user.
Parameters
response: a callback Object to retrieve the file path
Throws
RuntimeException: if this feature failed or unsupported on the platform
-
captureAudio
This method tries to invoke the device native hardware to capture audio. The method returns immediately and the response will be sent asynchronously to the given ActionListener Object The audio is saved to a file on the device.
use this in the actionPerformed to retrieve the file path String path = (String) evt.getSource();
Parameters
response: a callback Object to retrieve the file path
Throws
RuntimeException: if this feature failed or unsupported on the platform
-
captureAudio
This method tries to invoke the device native hardware to capture audio. The method returns immediately and the response will be sent asynchronously to the given ActionListener Object The audio is saved to a file on the device.
use this in the actionPerformed to retrieve the file path String path = (String) evt.getSource();
Parameters
-
recordingOptions: Audio recording options. -
response: a callback Object to retrieve the file path
Throws
RuntimeException: if this feature failed or unsupported on the platform
Since
7.0
-
-
captureVideo
This method tries to invoke the device native camera to capture video. The method returns immediately and the response will be sent asynchronously to the given ActionListener Object The video is saved to a file on the device.
use this in the actionPerformed to retrieve the file path String path = (String) evt.getSource();
Parameters
response: a callback Object to retrieve the file path
Throws
RuntimeException: if this feature failed or unsupported on the platform
-
captureVideo
Same as
#captureVideo(com.codename1.ui.events.ActionListener), except that it attempts to impose constraints on the capture. Constraints include width, height, and max length. Not all platforms support capture constraints. Use theVideoCaptureConstraints#isSupported()to see if a constraint is supported. If constraints are not supported at all, then this method will fall back to calling#captureVideo(com.codename1.ui.events.ActionListener).Parameters
-
constraints: Capture constraints to use. -
response: a callback Object to retrieve the file path
Since
7.0
See also
- com.codename1.capture.Capture#captureVideo(com.codename1.capture.VideoCaptureConstraints, com.codename1.ui.events.ActionListener)
-
-
openImageGallery
Opens the device image gallery The method returns immediately and the response will be sent asynchronously to the given ActionListener Object
use this in the actionPerformed to retrieve the file path String path = (String) evt.getSource();
Parameters
response: a callback Object to retrieve the file path
Throws
RuntimeException: if this feature failed or unsupported on the platform
Deprecated
see openGallery instead
-
openGallery
Opens the device gallery to pick an image or a video.
The method returns immediately and the response is sent asynchronously to the given ActionListener Object as the source value of the event (as a String)
E.g. within the callback action performed call you can use this code:
String path = (String) evt.getSource();.A more detailed sample of picking a video file can be seen here:
final Form hi = new Form("MediaPlayer", new BorderLayout()); hi.setToolbar(new Toolbar()); Style s = UIManager.getInstance().getComponentStyle("Title"); FontImage icon = FontImage.createMaterial(FontImage.MATERIAL_VIDEO_LIBRARY, s); hi.getToolbar().addCommandToRightBar(new Command("", icon) { @Override public void actionPerformed(ActionEvent evt) { Display.getInstance().openGallery((e) -> { if(e != null && e.getSource() != null) { String file = (String)e.getSource(); try { Media video = MediaManager.createMedia(file, true); hi.removeAll(); hi.add(BorderLayout.CENTER, new MediaPlayer(video)); hi.revalidate(); } catch(IOException err) { Log.e(err); } } }, Display.GALLERY_VIDEO); } }); hi.show();Version 5.0 and higher support multi-selection (i.e. the types
#GALLERY_IMAGE_MULTI,#GALLERY_VIDEO_MULTI, and#GALLERY_ALL_MULTI). When using one of the multiselection types, the source of the ActionEvent will be aString[], containing the paths of the selected elements, or null if the user cancelled the dialog.Platform support
Currently (version 5.0 and higher), all platforms support the types
#GALLERY_IMAGE,#GALLERY_VIDEO,#GALLERY_ALL,#GALLERY_IMAGE_MULTI,#GALLERY_VIDEO_MULTI,#GALLERY_ALL_MULTI. On iOS, multi-selection requires a deployment target of iOS 8.0 or higher, so it is disabled by default. You can enable multi-selection on iOS, by adding the ios.enableGalleryMultiselect=true build hint. This build hint will be added automatically for you if you run your app in the simulator, and it calls openGallery() with one of the multiselect gallery types.Parameters
-
response: @param response a callback Object to retrieve the file path For multiselection types (#GALLERY_IMAGE_MULTI,#GALLERY_VIDEO_MULTI, and#GALLERY_ALL_MULTI), the source of the ActionEvent sent this callback will be a String[]. For other types, it will be a String. If the dialog was cancelled, it will be null. -
type: one of the following#GALLERY_IMAGE,#GALLERY_VIDEO,#GALLERY_ALL,#GALLERY_IMAGE_MULTI,#GALLERY_VIDEO_MULTI,#GALLERY_ALL_MULTI.
Throws
RuntimeException: if this feature failed or unsupported on the platform. Use#isGalleryTypeSupported(int)to check if the type is supported before calling this method.
See also
- #isGalleryTypeSupported(int) To see if a type is supported on the current platform.
-
-
isGalleryTypeSupported
public boolean isGalleryTypeSupported(int type) Checks to see if the given gallery type is supported on the current platform.
Parameters
type: one of the following#GALLERY_IMAGE,#GALLERY_VIDEO,#GALLERY_ALL,#GALLERY_IMAGE_MULTI,#GALLERY_VIDEO_MULTI,#GALLERY_ALL_MULTI.
Returns
True if the type is supported
See also
- #openGallery(com.codename1.ui.events.ActionListener, int)
-
getPlatformName
Returns a 2-3 letter code representing the platform name for the platform override
Returns
the name of the platform e.g. ios, rim, win, and, me, HTML5
-
getPlatformOverrides
Returns the suffixes for ovr files that should be used when loading a layered resource file on this platform
Returns
a string array with the proper order of resource override layers
-
sendMessage
Send an email using the platform mail client.
The code below demonstrates sending a simple message with attachments using the devices native email client:
Message m = new Message("Body of message"); m.getAttachments().put(textAttachmentUri, "text/plain"); m.getAttachments().put(imageAttachmentUri, "image/png"); Display.getInstance().sendMessage(new String[] {"[email protected]"}, "Subject of message", m);Parameters
-
recipients: array of e-mail addresses -
subject: e-mail subject -
msg: the Message to send
-
-
dial
Opens the device Dialer application with the given phone number
Parameters
phoneNumber
-
isCallDetectionSupported
public boolean isCallDetectionSupported()Indicates whether this platform can attempt to detect active phone-call interruptions.
A
trueresult means the platform provides a best-effort heuristic only. It does not guarantee exact telephony state.Returns
trueif call detection is implemented on this platform. -
isInCall
public boolean isInCall()Best-effort check for whether the platform currently believes an active phone call is interrupting the app.
This API is intentionally heuristic. It can produce false positives (e.g. non-call interruptions like Control Center or app-switching) and false negatives. Use it for UX hints and telemetry, not as a security or business-critical gate.
Returns
trueif the platform currently believes a call interruption is active. -
getSMSSupport
public int getSMSSupport()Indicates the level of SMS support in the platform as one of:
#SMS_NOT_SUPPORTED(for desktop, tablet etc.),#SMS_SEAMLESS(no UI interaction),#SMS_INTERACTIVE(with compose UI),#SMS_BOTH.The sample below demonstrates the use case for this property:
switch(Display.getInstance().getSMSSupport()) { case Display.SMS_NOT_SUPPORTED: return; case Display.SMS_SEAMLESS: showUIDialogToEditMessageData(); Display.getInstance().sendSMS(phone, data); return; default: Display.getInstance().sendSMS(phone, data); return; }Returns
one of the SMS_* values
-
sendSMS
Sends a SMS message to the given phone number
Parameters
-
phoneNumber: to send the sms -
message: the content of the sms
- Throws:
IOException
-
-
sendSMS
Sends a SMS message to the given phone number, the code below demonstrates the logic of detecting platform behavior for sending SMS.
switch(Display.getInstance().getSMSSupport()) { case Display.SMS_NOT_SUPPORTED: return; case Display.SMS_SEAMLESS: showUIDialogToEditMessageData(); Display.getInstance().sendSMS(phone, data); return; default: Display.getInstance().sendSMS(phone, data); return; }Parameters
-
phoneNumber: to send the sms -
message: the content of the sms -
interactive: indicates the SMS should show a UI or should not show a UI if applicable see getSMSSupport
See also
- #getSMSSupport()
- Throws:
IOException
-
-
notifyStatusBar
public void notifyStatusBar(String tickerText, String contentTitle, String contentBody, boolean vibrate, boolean flashLights) Place a notification on the device status bar (if device has this functionality). Clicking the notification might re-start the Application.
Parameters
-
tickerText: the ticker text of the Notification -
contentTitle: the title of the Notification -
contentBody: the content of the Notification -
vibrate: enable/disable notification alert -
flashLights: enable/disable notification flashing
Deprecated
-
-
isNotificationSupported
public boolean isNotificationSupported()Indicates whether the notify status bar method will present a notification to the user
Returns
true if the notify status bar method will present a notification to the user
-
notifyStatusBar
public Object notifyStatusBar(String tickerText, String contentTitle, String contentBody, boolean vibrate, boolean flashLights, Hashtable args) Place a notification on the device status bar (if device has this functionality). Clicking the notification might re-start the Application.
Parameters
-
tickerText: the ticker text of the Notification -
contentTitle: the title of the Notification -
contentBody: the content of the Notification -
vibrate: enable/disable notification alert -
flashLights: enable/disable notification flashing -
args: additional arguments to the notification
Returns
a platform native object that allows modifying notification state
Deprecated
use scheduleLocalNotification instead
-
-
dismissNotification
Removes the notification previously posted with the notify status bar method
Parameters
o: the object returned from the notifyStatusBar method
-
isBadgingSupported
public boolean isBadgingSupported()Returns true if the underlying OS supports numeric badges on icons. Notice this is only available on iOS and only when push notification is enabled
Returns
true if the underlying OS supports numeric badges
-
setBadgeNumber
public void setBadgeNumber(int number) Sets the number that appears on the application icon in iOS
Parameters
number: number to show on the icon
-
getAllContacts
Gets all contacts from the address book of the device
Parameters
withNumbers: if true returns only contacts that has a number
Returns
array of contacts unique ids
-
getAllContacts
public Contact[] getAllContacts(boolean withNumbers, boolean includesFullName, boolean includesPicture, boolean includesNumbers, boolean includesEmail, boolean includeAddress) Notice: this method might be very slow and should be invoked on a separate thread! It might have platform specific optimizations over getAllContacts followed by looping over individual contacts but that isn't guaranteed. See isGetAllContactsFast for information.
The sample below demonstrates listing all the contacts within the device with their photos
Form hi = new Form("Contacts", new BoxLayout(BoxLayout.Y_AXIS)); hi.add(new InfiniteProgress()); int size = Display.getInstance().convertToPixels(5, true); FontImage fi = FontImage.createFixed("" + FontImage.MATERIAL_PERSON, FontImage.getMaterialDesignFont(), 0xff, size, size); Display.getInstance().scheduleBackgroundTask(() -> { Contact[] contacts = Display.getInstance().getAllContacts(true, true, false, true, false, false); Display.getInstance().callSerially(() -> { hi.removeAll(); for(Contact c : contacts) { MultiButton mb = new MultiButton(c.getDisplayName()); mb.setIcon(fi); mb.setTextLine2(c.getPrimaryPhoneNumber()); hi.add(mb); mb.putClientProperty("id", c.getId()); Display.getInstance().scheduleBackgroundTask(() -> { Contact cc = ContactsManager.getContactById(c.getId(), false, true, false, false, false); Display.getInstance().callSerially(() -> { Image photo = cc.getPhoto(); if(photo != null) { mb.setIcon(photo.fill(size, size)); mb.revalidate(); } }); }); } hi.getContentPane().animateLayout(150); }); });Parameters
-
withNumbers: if true returns only contacts that has a number -
includesFullName: if true try to fetch the full name of the Contact(not just display name) -
includesPicture: if true try to fetch the Contact Picture if exists -
includesNumbers: if true try to fetch all Contact numbers -
includesEmail: if true try to fetch all Contact Emails -
includeAddress: if true try to fetch all Contact Addresses
Returns
array of the contacts
-
-
isGetAllContactsFast
public boolean isGetAllContactsFast()Indicates if the getAllContacts is platform optimized, notice that the method might still take seconds or more to run so you should still use a separate thread!
Returns
true if getAllContacts will perform faster that just getting each contact
-
getLinkedContactIds
Gets IDs of all contacts that are linked to a given contact. Some platforms, like iOS, allow for multiple distinct contact records to be "linked" to indicate that they refer to the same person.
Parameters
c: The contact whose "linked" contacts are to be retrieved.
Returns
IDs of linked contacts.
-
getContactById
-
getContactById
public Contact getContactById(String id, boolean includesFullName, boolean includesPicture, boolean includesNumbers, boolean includesEmail, boolean includeAddress) This method returns a Contact by the contact id and fills it's data according to the given flags.
The sample below demonstrates listing all the contacts within the device with their photos
Form hi = new Form("Contacts", new BoxLayout(BoxLayout.Y_AXIS)); hi.add(new InfiniteProgress()); int size = Display.getInstance().convertToPixels(5, true); FontImage fi = FontImage.createFixed("" + FontImage.MATERIAL_PERSON, FontImage.getMaterialDesignFont(), 0xff, size, size); Display.getInstance().scheduleBackgroundTask(() -> { Contact[] contacts = Display.getInstance().getAllContacts(true, true, false, true, false, false); Display.getInstance().callSerially(() -> { hi.removeAll(); for(Contact c : contacts) { MultiButton mb = new MultiButton(c.getDisplayName()); mb.setIcon(fi); mb.setTextLine2(c.getPrimaryPhoneNumber()); hi.add(mb); mb.putClientProperty("id", c.getId()); Display.getInstance().scheduleBackgroundTask(() -> { Contact cc = ContactsManager.getContactById(c.getId(), false, true, false, false, false); Display.getInstance().callSerially(() -> { Image photo = cc.getPhoto(); if(photo != null) { mb.setIcon(photo.fill(size, size)); mb.revalidate(); } }); }); } hi.getContentPane().animateLayout(150); }); });Parameters
-
id: of the Contact -
includesFullName: if true try to fetch the full name of the Contact(not just display name) -
includesPicture: if true try to fetch the Contact Picture if exists -
includesNumbers: if true try to fetch all Contact numbers -
includesEmail: if true try to fetch all Contact Emails -
includeAddress: if true try to fetch all Contact Addresses
Returns
a Contact Object
-
-
isContactsPermissionGranted
public boolean isContactsPermissionGranted()Some platforms allow the user to block contacts access on a per application basis this method returns true if the user denied permission to access contacts. This can allow you to customize the error message presented to the user.
Returns
true if contacts access is allowed or globally available, false otherwise
-
createContact
public String createContact(String firstName, String familyName, String officePhone, String homePhone, String cellPhone, String email) Create a contact to the device contacts book
Parameters
-
firstName: the Contact firstName -
familyName: the Contact familyName -
officePhone: the Contact work phone or null -
homePhone: the Contact home phone or null -
cellPhone: the Contact mobile phone or null -
email: the Contact email or null
Returns
the contact id if creation succeeded or null if failed
-
-
deleteContact
removed a contact from the device contacts book
Parameters
id: the contact id to remove
Returns
true if deletion succeeded false otherwise
-
isNativeVideoPlayerControlsIncluded
public boolean isNativeVideoPlayerControlsIncluded()Indicates if the native video player includes its own play/pause etc. controls so the movie player component doesn't need to include them
Returns
true if the movie player component doesn't need to include such controls
-
getLocalizationManager
The localization manager allows adapting values for display in different locales thru parsing and formatting capabilities (similar to JavaSE's DateFormat/NumberFormat). It also includes language/locale/currency related API's similar to Locale/currency API's from JavaSE.
The sample code below just lists the various capabilities of the API:
Form hi = new Form("L10N", new TableLayout(16, 2)); L10NManager l10n = L10NManager.getInstance(); hi.add("format(double)").add(l10n.format(11.11)). add("format(int)").add(l10n.format(33)). add("formatCurrency").add(l10n.formatCurrency(53.267)). add("formatDateLongStyle").add(l10n.formatDateLongStyle(new Date())). add("formatDateShortStyle").add(l10n.formatDateShortStyle(new Date())). add("formatDateTime").add(l10n.formatDateTime(new Date())). add("formatDateTimeMedium").add(l10n.formatDateTimeMedium(new Date())). add("formatDateTimeShort").add(l10n.formatDateTimeShort(new Date())). add("getCurrencySymbol").add(l10n.getCurrencySymbol()). add("getLanguage").add(l10n.getLanguage()). add("getLocale").add(l10n.getLocale()). add("isRTLLocale").add("" + l10n.isRTLLocale()). add("parseCurrency").add(l10n.formatCurrency(l10n.parseCurrency("33.77$"))). add("parseDouble").add(l10n.format(l10n.parseDouble("34.35"))). add("parseInt").add(l10n.format(l10n.parseInt("56"))). add("parseLong").add("" + l10n.parseLong("4444444")); hi.show();Returns
an instance of the localization manager
-
registerPush
User register to receive push notification
Parameters
-
id: the id for the user -
noFallback: @param noFallback some devices don't support an efficient push API and will resort to polling to provide push like functionality. If this flag is set to true no polling will occur and the error PushCallback.REGISTRATION_ERROR_SERVICE_NOT_AVAILABLE will be sent to the push interface.
Deprecated
use
#registerPush()the Android push id should be set with the build hintgcm.sender_idwhich will work for Chrome JavaScript builds too -
-
registerPush
Register to receive push notification, invoke this method once (ever) to receive push notifications.
Parameters
-
metaData: @param metaData meta data for push, this is relevant on some platforms such as google where a push id is necessary, -
noFallback: @param noFallback some devices don't support an efficient push API and will resort to polling to provide push like functionality. If this flag is set to true no polling will occur and the error PushCallback.REGISTRATION_ERROR_SERVICE_NOT_AVAILABLE will be sent to the push interface.
Deprecated
use
#registerPush()the Android push id should be set with the build hintgcm.sender_idwhich will work for Chrome JavaScript builds too -
-
registerPush
public void registerPush()Register to receive push notification, invoke this method once (ever) to receive push notifications. -
deregisterPush
public void deregisterPush()Stop receiving push notifications to this client application -
createMediaRecorder
Creates a Media recorder Object which will record from the device mic to a file in the given path. The output format will be amr-nb if supported by the platform.
Parameters
path: @param path a file path to where to store the recording, if the file does not exists it will be created.
- Throws:
IOException
-
createMediaRecorder
Parameters
builder: A MediaRecorderBuilder
Returns
a MediaRecorder
Throws
IOException
Since
7.0
Deprecated
use MediaRecorderBuilder#build()
See also
- MediaRecorderBuilder#build()
- Throws:
IOException
-
createMediaRecorder
Creates a Media recorder Object which will record from the device mic to a file in the given path.
Parameters
-
path: @param path a file path to where to store the recording, if the file does not exists it will be created. -
mimeType: @param mimeType the output mime type that is supported see getAvailableRecordingMimeTypes()
- Throws:
IOException
-
-
getImageIO
Returns the image IO instance that allows scaling image files.
Returns
the image IO instance or null if image IO isn't supported for the given platform
-
getMediaRecorderingMimeType
Gets the recording mime type for the returned Media from the createMediaRecorder method
Returns
the recording mime type
Deprecated
see getAvailableRecordingMimeTypes() instead
-
openOrCreate
Opens a database or create one if not exists. On platforms where
#isDatabaseCustomPathSupported()this method can optionally accept a file path.Parameters
databaseName: the name of the database
Returns
Database Object or null if not supported on the platform
Throws
IOException: if database cannot be created
- Throws:
IOException
-
isDatabaseCustomPathSupported
public boolean isDatabaseCustomPathSupported() -
delete
Deletes database
Parameters
databaseName: the name of the database
Throws
IOException: if database cannot be deleted
- Throws:
IOException
-
exists
Indicates weather a database exists
Parameters
databaseName: the name of the database
Returns
true if database exists
-
getDatabasePath
Returns the file path of the Database if support for database exists on the platform.
Parameters
databaseName: @param databaseName the name of the database with out / or path elements e.g.mydatabase.db
Returns
the file path of the database or null if database isn't supported
-
setPollingFrequency
public void setPollingFrequency(int freq) Sets the frequency for polling the server in case of polling based push notification
Parameters
freq: the frequency in milliseconds
Deprecated
we no longer support push polling
-
createThread
Start a Codename One thread that supports crash protection and similar Codename One features.
Parameters
-
r: runnable to run, NOTICE the thread MUST be explicitly started! -
name: the name for the thread
Returns
a thread instance which must be explicitly started!
-
-
startThread
Start a Codename One thread that supports crash protection and similar Codename One features.
Parameters
-
r: runnable to run, NOTICE the thread MUST be explicitly started! -
name: the name for the thread
Returns
a thread instance which must be explicitly started!
Deprecated
confusing name use
java.lang.String)instead -
-
isNativeTitle
public boolean isNativeTitle()Indicates if the title of the Form is native title(in android ICS devices if the command behavior is native the ActionBar is used to display the title and the menu)
Returns
true if platform would like to show the Form title
-
refreshNativeTitle
public void refreshNativeTitle()if the title is native(e.g the android action bar), notify the native title that is needs to be refreshed -
getCrashReporter
The crash reporter gets invoked when an uncaught exception is intercepted
Returns
the crashReporter
-
setCrashReporter
The crash reporter gets invoked when an uncaught exception is intercepted
Parameters
crashReporter: the crashReporter to set
-
getUdid
Returns the UDID for devices that support it
Returns
the UDID or null
-
getMsisdn
Returns the MSISDN for devices that expose it
Returns
the msisdn or null
-
getInAppPurchase
Returns the native OS purchase implementation if applicable, if unavailable this method will try to fallback to a custom purchase implementation and failing that will return null
Returns
instance of the purchase class or null
-
getInAppPurchase
Deprecated
-
getCodeScanner
Returns the native implementation of the code scanner or null
Returns
code scanner instance
Deprecated
Use the cn1-codescanner cn1lib.
-
getAvailableRecordingMimeTypes
Gets the available recording MimeTypes -
isScreenSaverDisableSupported
public boolean isScreenSaverDisableSupported()Checks if the device supports disabling the screen display from dimming, allowing the developer to keep the screen display on. -
isScrollWheeling
public boolean isScrollWheeling()Checks is the scroll-wheel mouse is currently scrolling. The scroll-wheel simulates pointer presses and drags so there are cases when you are processing pointer events when you may want to know if it was driggered by a scroll wheel.
Returns
True if the scroll-wheel is responsible for current pointer events.
Since
8.0
-
setScreenSaverEnabled
public void setScreenSaverEnabled(boolean e) If isScreenSaverDisableSupported() returns true calling this method will lock the screen display on
Parameters
e: @param e when set to true the screen saver will work as usual and when set to false the screen will not turn off automatically
-
hasCamera
public boolean hasCamera()Returns true if the device has camera false otherwise. -
isNativePickerTypeSupported
public boolean isNativePickerTypeSupported(int pickerType) Indicates whether the native picker dialog is supported for the given type which can include one of PICKER_TYPE_DATE_AND_TIME, PICKER_TYPE_TIME, PICKER_TYPE_DATE
Parameters
pickerType: the picker type constant
Returns
true if the native platform supports this picker type
-
showNativePicker
Shows a native modal dialog allowing us to perform the picking for the given type which can include one of PICKER_TYPE_DATE_AND_TIME, PICKER_TYPE_TIME, PICKER_TYPE_DATE
Parameters
-
type: the picker type constant -
source: @param source the source component (optional) the native dialog will be placed in relation to this component if applicable -
currentValue: the currently selected value -
data: additional meta data specific to the picker type when applicable
Returns
the value from the picker or null if the operation was canceled.
-
-
isMultiKeyMode
public boolean isMultiKeyMode()When set to true Codename One allows multiple hardware keys to be pressed at once, this isn't on by default since it can trigger some complexities with UI navigation to/from native code
Returns
the multiKeyMode
-
setMultiKeyMode
public void setMultiKeyMode(boolean multiKeyMode) When set to true Codename One allows multiple hardware keys to be pressed at once, this isn't on by default since it can trigger some complexities with UI navigation to/from native code
Parameters
multiKeyMode: the multiKeyMode to set
-
getLongPointerPressInterval
public int getLongPointerPressInterval()Long pointer press is invoked after the given interval, this allows making long press events shorter/longer
Returns
time in milliseconds
-
setLongPointerPressInterval
public void setLongPointerPressInterval(int v) Long pointer press is invoked after the given interval, this allows making long press events shorter/longer
Parameters
v: time in milliseconds
-
scheduleLocalNotification
Schedules a local notification that will occur after the given time elapsed.
The sample below combines this with the geofence API to show a local notification when entering a radius with the app in the background:
// File: GeofenceListenerImpl.java public class GeofenceListenerImpl implements GeofenceListener { @Override public void onExit(String id) { } @Override public void onEntered(String id) { if(!Display.getInstance().isMinimized()) { Display.getInstance().callSerially(() -> { Dialog.show("Welcome", "Thanks for arriving", "OK", null); }); } else { LocalNotification ln = new LocalNotification(); ln.setId("LnMessage"); ln.setAlertTitle("Welcome"); ln.setAlertBody("Thanks for arriving!"); Display.getInstance().scheduleLocalNotification(ln, System.currentTimeMillis() + 10, LocalNotification.REPEAT_NONE); } } }// File: GeofenceSample.java Geofence gf = new Geofence("test", loc, 100, 100000); LocationManager.getLocationManager().addGeoFencing(GeofenceListenerImpl.class, gf);Parameters
-
n: The notification to schedule. -
firstTime: time in milliseconds when to schedule the notification -
repeat: @param repeat repeat one of the following: REPEAT_NONE, REPEAT_FIFTEEN_MINUTES, REPEAT_HALF_HOUR, REPEAT_HOUR, REPEAT_DAY, REPEAT_WEEK
-
-
cancelLocalNotification
Cancels a local notification by ID.
Parameters
notificationId
See also
- com.codename1.notifications.LocalNotification
-
setPreferredBackgroundFetchInterval
public void setPreferredBackgroundFetchInterval(int seconds) Sets the preferred time interval between background fetches. This is only a preferred interval and is not guaranteed. Some platforms, like iOS, maintain sovereign control over when and if background fetches will be allowed. This number is used only as a guideline.
This method must be called in order to activate background fetch.>
Note: If the platform doesn't support background fetch (i.e.
#isBackgroundFetchSupported()returnsfalse, then this method does nothing.Parameters
seconds: The time interval in seconds.
See also
-
#isBackgroundFetchSupported()
-
#getPreferredBackgroundFetchInterval(int) ()
-
com.codename1.background.BackgroundFetch
-
getPreferredBackgroundFetchInterval
public int getPreferredBackgroundFetchInterval(int seconds) Gets the preferred time (in seconds) between background fetches.
Returns
The time interval in seconds.
See also
-
#isBackgroundFetchSupported()
-
#setPreferredBackgroundFetchInterval(int)
-
com.codename1.background.BackgroundFetch
-
-
isBackgroundFetchSupported
public boolean isBackgroundFetchSupported()Checks to see if the current platform supports background fetch.
Returns
True if the current platform supports background fetch.
See also
-
#setPreferredBackgroundFetchInterval(int)
-
#getPreferredBackgroundFetchInterval(int) ()
-
com.codename1.background.BackgroundFetch
-
-
isSimulator
public boolean isSimulator()Allows detecting development mode so debugging code and special cases can be used to simplify flow
Returns
true if we are running in the simulator, false otherwise
-
createBackgroundMedia
Creates an audio media that can be played in the background.
Parameters
uri: @param uri the uri of the media can start with jar://, file://, http:// (can also use rtsp:// if supported on the platform)
Returns
- Returns:
Media a Media Object that can be used to control the playback of the media or null if background playing is not supported on the platform
Throws
IOException: if creation of media from the given URI has failed
- Throws:
IOException
-
createBackgroundMediaAsync
Creates an audio media that can be played in the background. This call is asynchronous, so that it will return perhaps before the media object is ready.
Parameters
uri: @param uri the uri of the media can start with jar://, file://, http:// (can also use rtsp:// if supported on the platform)
Returns
- Returns:
- Media a Media Object that can be used to control the playback of the media or null if background playing is not supported on the platform
-
gaussianBlurImage
-
isGaussianBlurSupported
public boolean isGaussianBlurSupported()Returns true if gaussian blur is supported on this platform
Returns
true if gaussian blur is supported.
-
refreshContacts
public void refreshContacts()Refreshes the native list of contacts on devices that require this seecom.codename1.contacts.ContactsManager#refresh() -
isJailbrokenDevice
public boolean isJailbrokenDevice()Returns true if this device is jailbroken or rooted, false if not or unknown. Notice that this method isn't accurate and can't detect all jailbreak/rooting cases
Returns
true if this device is jailbroken or rooted, false if not or unknown.
-
getProjectBuildHints
Returns the build hints for the simulator, this will only work in the debug environment and it's designed to allow extensions/API's to verify user settings/build hints exist
Returns
map of the build hints that isn't modified without the codename1.arg. prefix
-
setProjectBuildHint
Sets a build hint into the settings while overwriting any previous value. This will only work in the debug environment and it's designed to allow extensions/API's to verify user settings/build hints exist. Important: this will throw an exception outside of the simulator!
Parameters
-
key: the build hint without the codename1.arg. prefix -
value: the value for the hint
-
-
canInstallOnHomescreen
public boolean canInstallOnHomescreen()Checks to see if you can prompt the user to install the app on their homescreen. This is only relevant for the Javascript port with PWAs. This is not a "static" property, as it only returns true if the app is in a state that allows you to prompt the user. E.g. if you have previously prompted the user and they have declined, then this will return false.
Best practice is to use
#onCanInstallOnHomescreen(java.lang.Runnable)to be notified when you are allowed to prompt the user for installation. Then call#promptInstallOnHomescreen()inside that method - or sometime after.Example
`onCanInstallOnHomescreen(()->{ if (canInstallOnHomescreen()) { if (promptInstallOnHomescreen()) { // User accepted installation` else { // user rejected installation } } }); }https://developers.google.com/web/fundamentals/app-install-banners/
Returns
True if you are able to prompt the user to install the app on their homescreen.
See also
-
#promptInstallOnHomescreen()
-
#onCanInstallOnHomescreen(java.lang.Runnable)
-
-
promptInstallOnHomescreen
public boolean promptInstallOnHomescreen()Prompts the user to install this app on their homescreen. This is only relevant in the javascript port.
Returns
- Returns:
The result of the user prompt. true if the user accepts the installation, false if they reject it.
See also
-
#canInstallOnHomescreen()
-
#onCanInstallOnHomescreen(java.lang.Runnable)
-
-
onCanInstallOnHomescreen
A callback fired when you are allowed to prompt the user to install the app on their homescreen. Only relevant in the javascript port.
Parameters
r: @param r Runnable that will be run when/if you are permitted to prompt the user to install the app on their homescreen.
-
captureScreen
Captures a screenshot of the screen.
Returns
An image of the screen, or null if it failed.
Since
7.0
Deprecated
use screenshot(SuccessCallback) instead
-
screenshot
Captures a screenshot in the native layer which should include peer components as well.
Parameters
callback: will be invoked on the EDT with a screenshot
Since
7.0.211
-
notifyPushCompletion
public void notifyPushCompletion()Notifies the platform that push notification processing is complete. This is useful on iOS where the app is woken up in the background to handle a push notification and needs to signal completion to avoid being suspended prematurely.
If the
ios.delayPushCompletionbuild hint (or property) is set to "true", Codename One will NOT automatically signal completion after thecom.codename1.push.PushCallback#push(String)method returns. Instead, the application MUST invoke this method manually when it has finished its background work (e.g. playing audio, downloading content). -
setTimeout
Convenience method to schedule a task to run on the EDT after timeoutms.
Parameters
-
timeout: The timeout in milliseconds. -
r: The task to run.
Returns
The Timer object that can be used to cancel the task.
Since
7.0
See also
- #setInterval(int, java.lang.Runnable)
-
-
setInterval
Convenience method to schedule a task to run on the EDT after periodms repeating every periodms.
Parameters
-
period: The delay and repeat in milliseconds. -
r: The runnable to run on the EDT.
Returns
The timer object which can be used to cancel the task.
Since
7.0
See also
- #setTimeout(int, java.lang.Runnable)
-
-