I have developed a Blackberry app for the 4.5 os series.
It works fine on all device except on the storm 1 (storm2 untested).
The problem (on the storm) is that the main screen of my application (and all other screens in fact) is shown with the virtual keybord. But there is no text field displayed on the screen that would justify the VK to show up.
I have bitmap fields and button fields only on that screen.
The use of a single program for all devices (4.5 and up) is seriously preferred.
What is causing the VK to show up and what can I do to prevent it (in JDE 4.5)?
You could compile your application for OS 5.0 or 4.7(depending on the OS on the device) on the storm to make sure the app will not run in compatibility mode.
Or you can change how your app is setup in the JAD.
Here is a KB article from RIM
RIM-TouchCompatibilityMode: false
RIM-TouchCompatibilityMode-UserChangeable: false
You can also [disable compatibility mode] within the device after the app is installed2.
Navigate to the Applications list by
clicking Options -> Advanced Options
-> Applications.
Locate and select the third-party
application.
Display the menu and click Disable
Compatibility Mode.
if(VirtualKeyboard.isSupported())
getVirtualKeyboard().setVisibility(VirtualKeyboard.HIDE_FORCE); //Force to close the virtual Keyboard.
you will compile in 4.7 and use preprocesor directives to detect if Virtual Keyboard is supported, then force to close..
//#ifdef BlackBerrySDK4.7.0
if(VirtualKeyboard.isSupported())
getVirtualKeyboard().setVisibility(VirtualKeyboard.HIDE_FORCE);
//#endif
Related
I created an emulator with VSCode for Flutter programming purposes, everything works great except the fact that i cannot use my own keyboard to write on TextFields, i'm forced to use the embbed keyboard of the android.
How do i allow key input from my keyboard?
You need to explicitly specify that option on the emulated device's settings if you've created the emulator using flutter with VSCode.
Open Android Studio.
Hover over the Tools section on the top bar and click AVD Manager
Find your emulated device on the list and click to pen icon to edit device specific settings.
Click to Show Advanced Settings.
Scroll down and make sure Enable keyboard input is ticked.
There is also pictured version of these steps.
I have used an old emulator for API Level 23, which does not take keyboard input for my apk. So I have created new emulator for API Level 29, and then it works. Following is the step to install new emulator.
Open "Android Virtual Device Manager"
Create new Virtual Device.
When you select a system image, please choose and download the last version(API Level29) on "Virtual Device Configuration" window
I'm developing cross platform app with Codename One. For iOS version of my app I want to ComponentGroup would be shown on the form. I added ComponentGroup element in CN Designer tool and it's displayed normally on simulator. Then I installed my app on the real iPhone, and my form on it is different from the one I've created in Designer tool - ComponentGroup is not displayed. What I'm doing wrong?
I want my form to look like this
This is how my form looks on real iPhone
In your theme constant you have to set ComponentGroupBool to true.
I have developed an application for iPad and now I want to adapt it to iPhone, then I realized that I have two options: I can create an iPhone Environment or create a skin for iPhone.
The point is that if I create iPhone and iPad environments and I upload both .ipa to the application center, the user will find two applications with the same name available for download. I have not found the way to avoid this in Application Center. I can only add the platform in the description.
What is the best option? What is the difference between iPad and iPhone Environments?
EDIT: I'm not being able to create a skin in the iPad Environment, the getSkinName function is not executed.
The Xcode projects generated by Worklight Studio for the iPhone and iPad environments are both created with the Universal application setting. Their codebase (Worklight-framework related) is mostly the same...
You can change the generated project from being Universal to being device-specific. This is a setting that you can tweak in Xcode.
Note: of course, you need to use different bundleIds for each...
See this documentation article by Apple: https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringYourApp/ConfiguringYourApp.html
After doing so, the App Center management console will be able to distinguish between the iPad and iPhone app. You can then simply edit the upload entry and give it a different label. This label change only affects what you see in the management console, not the app name itself, so all is good.
If you want to keep your app size to a minimum, then I would go for seperate environments rather than using Skins.
This will also help by giving you more control over your users (using Direct Update, Remote Disable, etc...) in case you have an issue only in the iPhone or iPad app.
I have also confirmed that Worklight Skins do work in the iPad environment.
Created a new Worklight project ("test") and application ("test")
Added the iPad environment
Added a skin ("ipad.skin")
Added a new appName.js (for Worklight 5.0.6/6.0, or main.js for Worklight 6.1) file in the ipad.skin\js folder with:
alert ("test");
Edited ipad\js\skinLoader.js file to use:
function getSkinName() {
return "ipad.skin";
}
Built and deployed
Opened and ran in Xcode
Result: the app opened in the iOS Simulator with an alert stating "test". Ergo, works...
Please make sure you have followed these steps.
I am looking for a screen shot tool that I can use to capture screens from my BlackBerry Tourch 9850. I have tried using the included JavaLoader utility with my SDK but I receive "Retrieving screen <active> data ... Error: buffer too small" errors. I have also tried using the BBScreenShooter v1.67 (I think this is the latest version) but it fails to capture the screen, then crashes.
I need the tool to create a user manual for some software we're developing for BlackBerrys and, as they say, "a picture is worth a thousand words."
If nothing else, perhaps someone knows how to address the small buffer problem with JavaLoader?
With the help of Mark Sohm (thanks Mark ... your help is very much appreicated) the solution was discovered: You have to use the JavaLoader from the v7.0 SDK on devices that have the higher screen resolutions ... the Tourch 9850 is 800 x 480. Versions 6 and lower do not have an implementation that will support the larger buffer required to grab the addition bytes - makes sense.
Although I have not tested it yet it's certainly possible that the BBScreenShooter would work also knowing this .... BBScreenShooter uses JavaLoader to handle the "heavy lifting" with the handset.
Try this way:
Create an application that runs on device startup and listens for GlobalEvents (via GlobalEventListener implementation)
Run this application in JDE or Eclipse and monitor what global events are fired when you press convenience keys on your blackberry device. Write event guids down and find out a guid that corresponds to a convenience key, when it is pressed.
Modify the application created at step 1 to use Display class and invoke screenshot() method of this class when a convenience key is pressed.
As screenshot has been created save it to the device filesystem via BlackBerry FileConnections API. After that you can copy these pictures to your desktop computer when device is connected via usb-cable.
That's it. This application will allow you to solve your task. And may become an additional product for your company, if you add some settings to setup convenience key(s) and path to save created screenshots on device memory/media card.
I'm not sure how to actually fix your problem but alternatively you could just run the application in the device simulator and get the screenshots from there. Run the simulator and go to "Edit" > "Save LCD Snapshot".
I am working on a web development project that I want to make sure works well on the BlackBerry browser. As part of both testing and documentation, I want to be able to take screenshots of my application and was wondering where to start.
I see there are a couple of pay applications on BlackBerry App World when I search for screenshot, but I am looking for recommendations or other options. Specifically, I have a Bold 9700 (v5.0.0.296, platform 5.1.0.83).
It appears this feature is built into the iPhone, according to the iPhone User Guide.
Take a screenshot of the iPhone
display: Quickly press and release the
Sleep/Wake and Home buttons at the
same time.
You may want to write you're own app or service to make screenshots.
Use
Display.screenshot(Bitmap bitmap)
or
Display.screenshot(Bitmap bitmap, int x, int y, int width, int height)
Note: you should sign app to use this api
If you have the developer tools installed, you can use "javaloader -u screenshot file.bmp" to capture a screenshot. Otherwise, the easiest way is to install a PC app called Master Control Program which has the capability to capture screenshots as well (as long as you have your device connected to your PC with a USB cable).
I get BlackBerry screenshots in two ways:
-On real devices I connect them to my PC over USB and run javaloader -u screenshot image.bmp from the command line (as Marc says, it's included with the developer tools).
-The BlackBerry Simulator makes it easy to take screenshots by pressing F3 (or choosing Edit -> Save LCD Snapshot from the menu, note you can choose to save directly as a .png, which is handy). You can change which phone model to simulate based on the SDK you have installed. For the 9700 I think you will need the V5.0 OS SDK (I haven't tried that yet), which you can get from here.
BBScreenShooter http://oppitronic.net/pb/ouiVC.php#BBScreenShooter
I've also heard of something called BB Stream that will actually stream the blackberry screen to your PC. Can't find it anywhere though.
This is a very good guide
http://www.aboutonlinetips.com/taking-screenshots-of-blackberry-screen/