Skip to Content
author's profile photo Former Member
Former Member

Always Connected on Blackberry - Escape (Back) Button Issue

We are developing mobile applications using the always connected approach using mobile WebDynpro. Our applications will be used on the Blackberry device. The application renders well on the device but we have an issue with Escape (back) key on the Blackberry device.

Whenever the user clicks on the Escape button on the Blackberry device this causes the WebDynpro application to go back to the previous application page but then everything gets disabled (clicking on any link doesnu2019t work anymore). The user has to refresh or open the WebDynpro application link again in order for the WebDynpro application to function.

For example, if the user was displaying a list of customers and clicked on one of the customer names to display the details. If at the details page the user clicks on the Escape button on the Blackberry device this causes the previous customers list page to display but then nothing is clickable (clicking on any customer row to display the details will not work anymore).

Is there a solution to this behavior because Blackberry users are used to using the Escape key to go back to the previous page?

Edited by: Omar Y. on Feb 15, 2009 1:24 PM

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

6 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Sep 08, 2009 at 10:21 AM

    Does anybody know if this problem has been solved?

    A similar problem happens when a user receives a call when is using a webdynpro application. The application loses its flow (pushing any button the user is redirected to the main page).

    Thanks,

    Ricard.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Sep 08, 2009 at 12:50 PM

    Hi Omar

    I am not sure if function key codes work for black berry browser. But if it works you can create use a function key UI element and provide some action for escape key so that you can go to the desired page and work again.

    When you click on an escape key, its like clicking a standard back button in ordinary bowser, using this will lose all events especially in mobile...

    Regards

    Vidyadhar

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Sep 10, 2009 at 08:29 AM

    I think this problem is related...

    To find it you only need a web application developed with WebDynpro. The Webdynpro application has three pages (A, B, C).

    Page A is the main page and has a link to page B. Page B to Page C. (A->B->C)

    At page B, perform a switch application (blackberry icon button, switch application) and select any application. Then perform another switch application and select the Blackberry browser application (Page B appears). Click on the link to visit the page C. Something wrong happens and Page A appears (main page of the application). It also happens when a call is answered.

    Thanks,

    Ricard.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Sep 14, 2009 at 05:13 PM

    We ran into the same issue - since the webdynpro acts the same with esc as if you were using the "back" key in a browser - it loses the context in which you were working.

    There is a shortcut key which can help with the user training portion. If the user wants to quickly exit the blackberry browser - back to the main menu - they can hit the "D" key - and avoid the use of the esc key.

    I had also used the tabbed window gui element (available in always connect for blackberries - if the dynamic parameter for sap-wd-client=Pie03Client is used) to allow the user to switch between multiple screens - this avoided some of the navigation pitfalls.

    Otherwise - I do not think that the esc key can be redefined within the browser - the best I have been able to do is to work around it...

    Mike

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Sep 17, 2009 at 09:45 AM

    Hello,

    I think I have found something.

    When a user runs a WebDynpro application and performs a switch application, the Webdynpro application under Blackberry losses its flow.

    Next example illustrates the issue:

    I have developed a simple Webdynpro application that contains three views: A, B and C.

    A is the main view and contains a link to B view.

    B contains a link to A view and another link to C view.

    C only contains a link to B

    A-><-B-><-C

    When the application starts the A view is shown, then the user click on the link and the B view appears.

    NOW starts the experiment:

    If the user clicks on the link to C, the C view is show. BUT, if the user performs a switch application before, the link to C goes to A view (main view) instead of C view. In other words, the link to C view of the B view does not work if the user performs a switch application and return to the browser.

    I have sniffed the traffic using Wireshark tool to know the differences between both cases:

    When the link is clicked without a previous switch application the result if the following:

    -


    SENT (from Blackberry to J2EE Server)-----

    POST /webdynpro/dispatcher/local/Navitst/NaviAppl?SAPtestId=0 HTTP/1.1

    User-Agent: BlackBerry8310/4.5.0.37 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/-1

    profile: http://www.blackberry.net/go/mobile/profiles/uaprof/8310/4.5.0.rdf

    Accept: application/vnd.rim.html,text/html,application/xhtmlxml,application/vnd.wap.xhtmlxml,text/vnd.sun.j2me.app-descriptor,image/vnd.rim.png,image/jpeg,application/x-vnd.rim.pme.b,application/vnd.rim.ucs,image/gif;anim=1,application/vnd.rim.jscriptc;v=0-8-8,application/x-javascript,application/vnd.rim.css;v=1,text/css;media=screen,application/vnd.wap.wmlc;q=0,9,application/vnd.wap.wmlscriptc;q=0,7,text/vnd.wap.wml;q=0,7,/;q=0,5

    Content-Length: 283

    Connection: close

    Accept-Charset: ISO-8859-1,UTF-8,US-ASCII,UTF-16BE,windows-1252,UTF-16LE,windows-1254,KOI8-R,windows-1251,windows-1255,windows-1256,windows-1253,windows-1250

    Host: popeye:50100

    Accept-Language: en-GB,en;q=0.5

    Content-Type: application/x-www-form-urlencoded; charset=UTF-8

    x-wap-profile: "http://www.blackberry.net/go/mobile/profiles/uaprof/8310/4.5.0.rdf"

    Cookie: JSESSIONID=(J2EE13664200)ID1974072550DB11143709834812588219End; saplb_*=(J2EE13664200)13664250

    Via: MDS_4.1.2.17

    sap-wd-cltwndid=059cb9d4a2d311de9a9f005056963b3f&sap-wd-appwndid=059cb9d5a2d311de8136005056963b3f&sap-wd-norefresh=X&evt_map=BUTTONCLICK&evt_cid=NCPJ&evt_vid=Page2&evt_oid=Button1&evt_act=toPage3FromPage2&evt_src=onAction&evt_ise=true&evt_par=ControlId%3Dsapurdata_NCPJ.Page2.Button1

    -


    RECEIVED (from J2EE Server to Blackberry)----


    HTTP/1.1 200 OK

    Connection: close

    Server: SAP J2EE Engine/7.00

    Content-Type: text/vnd.wap.wml

    Expires: -1

    Cache-Control: no-cache

    Pragma: no-cache

    Date: Wed, 16 Sep 2009 15:11:49 GMT

    <WML of page C>

    The result sent by the J2EE server is a wml page that contains the view C (page 3) with its link. All OK.

    Now the traffic when the user has performed a switch application previously:

    -


    SENT (from Blackberry to J2EE Server----


    GET /webdynpro/dispatcher/local/Navitst/NaviAppl?SAPtestId=0 HTTP/1.1

    User-Agent: BlackBerry8310/4.5.0.37 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/-1

    profile: http://www.blackberry.net/go/mobile/profiles/uaprof/8310/4.5.0.rdf

    Accept: application/vnd.rim.html,text/html,application/xhtmlxml,application/vnd.wap.xhtmlxml,text/vnd.sun.j2me.app-descriptor,image/vnd.rim.png,image/jpeg,application/x-vnd.rim.pme.b,application/vnd.rim.ucs,image/gif;anim=1,application/vnd.rim.jscriptc;v=0-8-8,application/x-javascript,application/vnd.rim.css;v=1,text/css;media=screen,application/vnd.wap.wmlc;q=0,9,application/vnd.wap.wmlscriptc;q=0,7,text/vnd.wap.wml;q=0,7,/;q=0,5

    Connection: close

    Accept-Charset: ISO-8859-1,UTF-8,US-ASCII,UTF-16BE,windows-1252,UTF-16LE,windows-1254,KOI8-R,windows-1251,windows-1255,windows-1256,windows-1253,windows-1250

    Host: popeye:50100

    Accept-Language: en-GB,en;q=0.5

    x-wap-profile: "http://www.blackberry.net/go/mobile/profiles/uaprof/8310/4.5.0.rdf"

    Cookie: JSESSIONID=(J2EE13664200)ID1429114050DB11193015276339549573End; saplb_*=(J2EE13664200)13664250

    Via: MDS_4.1.2.17

    -


    RECEIVED (from J2EE Server to Blackberry)----


    HTTP/1.1 200 OK

    Connection: close

    Server: SAP J2EE Engine/7.00

    Content-Type: text/vnd.wap.wml

    Expires: -1

    Cache-Control: no-cache

    Pragma: no-cache

    Date: Wed, 16 Sep 2009 15:17:35 GMT

    <WML of page A>

    In this case, J2EE server returns a wml page that contains the A view (Page1) with its link. Error! user has clicked on the link of the view B to go to view C, and J2EE server returns A view.

    I think the problem is the following:

    Webdynpro applications under Blackberry (as far as I know) use POST requests. After a switch application the request is made using GET. This is not a problem in itself, for example, WebDynpro applications under IPhone also use GET request.

    I think the KEY is the next piece of traffic:

    sap-wd-cltwndid=059cb9d4a2d311de9a9f005056963b3f&sap-wd-appwndid=059cb9d5a2d311de8136005056963b3f&sap-wd-norefresh=X&evt_map=BUTTONCLICK&evt_cid=NCPJ&evt_vid=Page2&evt_oid=Button1&evt_act=toPage3FromPage2&evt_src=onAction&evt_ise=true&evt_par=ControlId%3Dsapurdata_NCPJ.Page2.Button1

    This piece of traffic is only sent when the switch application is NOT performed (POST request). It contains info about the state and what has the user done (click on the link to go to PAGE 3 (view C)). If this data is not sent, J2EE server redirects the user to the main application (Webdynpro application is restarted).

    I think it is important to keep in mind that this problem also happens when a call is answered. It is a true handicap to choose Netweaver technology to develop applications under Blackberry devices. On the other hand, this bug is old (years) and has not been corrected yet (as far as I know).

    Is there any workaround, correction or trick to avoid this behaviour?

    Thanks in advance,

    PD: If WML code is attached, the SDN forum returns an error.

    Ricard.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Sep 17, 2009 at 01:55 PM

    One odd behavior which is not consistent during this process - I am able to "sort of" switch applications and keep my context - but only in one specific instance. My webdynpro contains a routing list, which also acts as a launch pad for emails - if you click on the hotspot - in this case a user name/email name - it launches an email to that user. In this case - you can run the webdynpro, launch the email, escape back to the application, and it will bring you back to where you left off. But this is the only instnace where I found it works...

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.