GRRRR: calls _UNBOUND_ broken in BB10.2 as well

I can't believe how much the BlackBerry OS 10.2 broken call framework. Several of my related calls have been broken when released 10.2.0.424, but I thought I had everything working again by the way of using InvokeQuery for InvokeManager/InvokeRequest , but I just noticed that one of my independent calls doesn't work now either.

My allows app users share a web page title and the URL with essentially the same list to invoke targets as does the BlackBerry browser (i.e. BBM, text, email, NFC, etc.). Under BB10.0 and 10.1, it worked perfectly, but now I noticed that with 10.2 sharing a picker page shows no candidate targets. This is how my app it was:

    InvokeQuery* shareQuery = InvokeQuery::create().parent( this ).invokeActionId( "bb.action.SHARE" ).uri( "http://dummy" );
    this->shareAction = InvokeActionItem::create( shareQuery ).imageSource( QUrl( "asset:///images/action-share.png" ) ).title( tr( "Share Article" ) );
    success = QObject::connect( this->shareAction, SIGNAL(triggered()), this, SLOT(shareActionTriggeredHandler()) );
    ASSERT( success );
    this->addAction( this->shareAction, ActionBarPlacement::InOverflow );

.. .and the shareActionTriggeredHandler() slot looks like this:

void MyApp::shareActionTriggeredHandler() {
    QVariantMap metadata;
    metadata["subject"] = ;
    metadata["description"] = ;
    this->shareAction->setMetadata( metadata );
}

As I said, it worked correctly until BB10.2. When triggered, it used to show a long list of share targets, including all my email accounts, Remember, BBM, NFC, text, etc., but now share watch selection page just an empty list.

Based on the reviews of a BlackBerry Development Advisor, it was determined that the culprit for the broken consolidated appeals was InvokeQuery, so I changed using the method of InvokeManager/InvokeRequest . To make things much easier to use, I have developed (and published on this forum) a Summoner class all wrapped carefully and included a Builder to allow use it even simpler. This worked very well for related calls, so I tried to change my independent invocation to use:

    ActionItem* shareAction = ActionItem::create().imageSource( QUrl( "asset:///images/action-share.png" ) ).title( tr( "Share Article" ) );
    success = QObject::connect( shareAction, SIGNAL(triggered()), this, SLOT(shareActionTriggeredHandler()) );
    ASSERT( success );
    actionSet->add( shareAction );

.. .and now the slot shareActionTriggeredHandler() looks like this:

void MyApp::shareActionTriggeredHandler() {
    QVariantMap metaData;
    metaData["subject"] = this->label->text();
    metaData["description"] = this->link;

    Invoker invoker;
    invoker.setAction( "bb.action.SHARE" );
    invoker.setMetaData( metaData );
    invoker.setUri( "http://dummy" );
    invoker.invoke();
}

With this code I get plus a list of targets hand empty. Instead, I go straight to the map "compose mail", which is also not what's supposed to happen. Looks independent invocation in BB10.2 is does not meet targets of candidate correctly with invocation.

Does anyone know another way to do an independent invocation that always works as expected under BB10.2?

UPDATE: Finally got right. With slightly modified code, it works in all versions of BB10. When I changed to the 'new' methond invocation I did that:

void MyPage::shareActionTriggeredHandler() {
    QVariantMap metaData;
    metaData["subject"] = ;
    metaData["description"] = ;

    InvokeQuery* shareQuery = InvokeQuery::create().parent( this ).invokeActionId( "bb.action.SHARE" ).uri( "http://dummy" ).metadata( metaData );
    Invocation* invocation = Invocation::create( shareQuery ).parent( this ).onArmed( this, SLOT(shareArmed()) );
}

void MyPage::shareArmed() {
    Invocation* invocation = qobject_cast( sender() );
    invocation->trigger( "bb.action.SHARE" );
    invocation->deleteLater();
}

It works very well with BB10.0 and 10.1, but the call was not past all minus 10.2. It turns out that the deleteLater() was the culprit. It seems that time must be slightly different under 10.2 and it is not safe to call deleteLater() in signal armed() Manager. Do this way works under all versions of operating system:

void MyPage::shareActionTriggeredHandler() {
    bool success;
    Q_UNUSED( success )

    QVariantMap metaData;
    metaData["subject"] = ;
    metaData["description"] = ;

    InvokeQuery* shareQuery = InvokeQuery::create().parent( this ).invokeActionId( "bb.action.SHARE" ).uri( "http://dummy" ).metadata( metaData );
    Invocation* invocation = Invocation::create( shareQuery ).parent( this ).onArmed( this, SLOT(shareArmed()) );
    success = QObject::connect( invocation, SIGNAL(finished()), invocation, SLOT(deleteLater()) );
    Q_ASSERT( success );
}

void MyPage::shareArmed() {
    Invocation* invocation = qobject_cast( sender() );
    invocation->trigger( "bb.action.SHARE" );
}

Notice that now the deleteLater() is run in response to the signal finished() of invocation. I guess that the first way under BB10.2 the invocation has been removed before the Manager of signal armed() had the chance to shoot. Because documents explicitly says that the finished() signal indicates that it is safe to call deleteLater(), it was probably just a fluke that it worked Ok under BB10.0 and 10.1.

Also note that in the second code example above, the armed() signal is attached to the shareArmed() with the clause of generator of onArmed() slot, but finished() signal is attached to with QObject::connect() deleteLater() instead. This is because it is IMPOSSIBLE to do this:

Invocation* invocation = Invocation::create().onFinished( invocation, SLOT(deleteLater()) );

That won't work because the "invocation" in the first parameter of onFinished() does not actually exist until that AFTER this line ends the execution.

Hope the other helps avoid pitfalls, in that I came.

greenmr wrote:

OK, I thought I had resolved, and I did, but only for BB10.2. Using this new method it is now BROKEN on 10.0 and 10.1. Now when I run my application

  • My old method invocation using share triggers Ok on all versions of BB10, but on 10.2, the list of candidates target is empty.
  • Using the new method is restored to the list of targets of the action, BUT...
  • Using the new method invocation fails completely on BB10.0 and 10.1.

I do not know what BlackBerry is playing to with invocations. For such a key service on an OS that insists on the "flow" between applications, invocations is a cesspool of labryinthine. There are at least three ways poorly documented to implement any type of invocation, but each new major OS update breaks the previous working methods. THIS NEEDS TO BE FIXED!

You can't all the wonderful fluid UI BlackBerry 10 If you keep changing the way the most basic element of this navigation works without informing the developers, and if you keep breaking formerly apps work whenever you bump the minor version number. This my BlackBerry, your grip on calls!

greenmr wrote:

OK, I solved it. For some reason, there are different ways to make calls, which is a good thing since when BlackBerry breaks one or more of them there are others that you can try. I rewrote my invocation to use explicit Invocation rather than through InvokeActionItem:

Tags: BlackBerry Developers

Similar Questions

  • In input/out live telephone calls have "broken" sound only after updating to iOS 9.3 update on 6, please help...

    All entry/out live telephone calls have 'broken' sound only & unable to play the music on my phone after update to iOS 9.3 update on 6, please help...

    Hi there dmaclatchy,

    It sounds slipped you can not use the app phone on your phone, because the sound is uneven or inaudible and something is happening with your music do not let play. I want to quit all applications running on the phone:

    Force an app to close the iOS

    1. press the Home button twice quickly. You will see small glimpses of your applications recently used.
    2. slide to the left to find the application you want to close.
    3. push upward on the overview of the application to close.

    When you have done that reboot the device and test again the question:

    iOS: switch off and on (restart) and reset

    If the problem persists, save your device in iTunes, then restore it like new and verify that it works.

    How to clear your iOS device and then set up as a new device or restore from backups

    If this is the case, restore your backup either check it still works and just reinstalled software or circumvent the problem in the backup file itself. Let us know how it goes! Thank you for using communities of Apple Support.

  • Call method text size prevents string value changes?

    I call the 'Text size' method with an Invoke node on a control to the string every time that a keypress event is marked.

    Curiously, the chain control change never the size. Have I misunderstood the purpose of 'Text size' method?

    Second, if I turn off "Update as you type" attribute, the keypress event is always recorded by the case of the event, but the contents of the string is always returned to the original contents of the string - it becomes impossible to update! Why is this behavior occurs?

    Attached is my demo vi. If you run this and try to change the content, you will see that the string control does not resize the text.

    Disable the "Update as you type" attribute, and it becomes crazy!

    Any suggestions on how to get this to resize the content string while the user types?

    OK, with a lot more research, I found a Subvi from NOR (password protected - grrrr) called Get text Rect

    (Or almost), it returns the rectangle enclosing correct for a single line format of text fonts. With a slight correction, this works well for the large font size that I use.

    Solution set.

    Thanks to anyone who is spending time trying to solve this problem for me!

  • Problem with SPA232D + SPA302D call tones?

    I recently installed a new SPA232D ATA and SPA302D DECT handset on our network of offices, which already uses a loyal Office SPA525G2 phone. Both the SPA525 and the SPA232 register with a SIP provider hosted on separate lines. I have not all other phones (analgoue or other) connected to the SPA232. After the configuration of the unit and entering a bunch of locales, most of the things with the new phone work as expected.

    However, when I use the SPA302 (via the SPA232) handset to call the SPA525, I hear a strange tone that sounds that once followed the silence until the call is answered in charge or go to the virtual machine. The destination phone continues to ring and can be chosen as normal for the call. In addition, the tone is different of tones is entered in the regional settings of each device. Calling other phones and other results of numbers (outside my SIP account) in tones which are correct for our region. I did a very quick syslog capture with wireshark and I see a 100-> 183-> 200 SIP sequence on these calls, while other calls seem to show a 100-> 180-> sequence 200. I saw no 182 s. Not sure if this is important.

    Any idea what would cause this?

    In addition, a couple of other problems minors reagrding the SPA232D + SPA302D combo:

    -The SPA232 will not automatically save to the SIP service after a reset or power and does not attempt to reconnect after the initial failure. He recorded immediately, however, if the voice component is restarted after a config change in the GUI http. I value 0 network delay, but noticed no difference.

    -The SPA232 (or SPA302) seems to ignore most of the locale. Past to your frrequencies and cadences in config make no difference to the tones heard through the SPA302. Must these be resynced with the handset somehow?

    Any thoughts greatly appreciated.

    With our thanks,
    Nick

    the ringback tones entered into the regional settings of either device. Calling other phones and other numbers (outside my SIP account) result in ringback tones that are correct for our region. I did a very quick syslog capture with wireshark and I see a 100->183->200 SIP sequence on these calls, whereas other calls seem to show a 100->180->200 sequence. I didn't see any 182s. Not sure if that is important. 

    It IS important. Code 180 is command "generate tone locally". The callers phone will create the tone according to its (regional) configuration. Code 183 is ' I'll you sent the audio tone '-local phone generate no dial tone, just play what it comes via the audio channel called Exchange device or target her.

    You will need to check the configuration of exchange that connect call from SPA232D to SPA525 (for example call with broken tone).

  • Job broken

    Hello

    In 10g R2
    I have a broken work:
    select WHAT from dba_jobs where broken='Y';
    
    WHAT
    --------------------------------
    dbms_refresh.refresh('"XSOFT8"."PS_DISXNE"');
    Now after you have solved the problem of how to activate it?
    Thank you.

    Hello

    broken jobs are scheduled for execution after an indefinite time, you must fix hem and mark uninterrupted and that there is a scenario of burleson and many ore called script job_fixer, you can also write your own, this script will mark as uninterrupted work and plan for the Executive on the interval specified by the user, you can plan his job which he will run every half hour

    /* Filename on companion disk: job5.sql */*
    CREATE OR REPLACE PROCEDURE job_fixer
    AS
       /*
       || calls DBMS_JOB.BROKEN to try and set
       || any broken jobs to unbroken
       */
    
       /* cursor selects user's broken jobs */
       CURSOR broken_jobs_cur
       IS
       SELECT job
         FROM user_jobs
        WHERE broken = 'Y';
    
    BEGIN
       FOR job_rec IN broken_jobs_cur
       LOOP
          DBMS_JOB.BROKEN(job_rec.job,FALSE);
       END LOOP;
    END job_fixer;
    

    hope this helps, also check the link given

    Thanks and greetings
    VD

  • Sync Call Logs between iPhone and iPod Touch

    I am considering setting up WiFi calling on my iPhone and adding my iPod touch as a secondary device. My question is: is my call synchronized between the two devices as well logs? Basically, I want to know whether continuity will that my incoming and outgoing call logs of conversations made on my iPhone appear on my iPod touch. If so, they will appear in the tab voice of Facetime?

    Chrismo16 wrote:

    My question is: is my call synchronized between the two devices as well logs? Basically, I want to know whether continuity will that my incoming and outgoing call logs of conversations made on my iPhone appear on my iPod touch. If so, they will appear in the tab voice of Facetime?

    Yes, they will show in the Audio tab in FaceTime.

  • Cannot make calls via laptop

    I can't make a call via Skype on laptop, but works well for the iphone (even Skype account for both devices).

    Every time I tried to make a call (after reinstall many times), it will close by saying "Skype has stopped working".

    And the message in the box said "a problem caused blocking the program works correctly. Windows program and you warn if a solution is not available"(but the solution will never come).

    Note that I use Windows 8.1 and I already set the compatibility mode...

    Update your Intel video display driver compatible Windows 8.1 version. The currently installed version (9.18.10.3234) is designed for Windows 8.

    http://www.Dell.com/support/home/us/en/19/product-support/product/Vostro-5470/drivers

    Be sure to select the option Windows 8.1.

    Also look at the other driver available for your laptop updates.

  • Video is de-energized when on a call with more than one person

    Hello

    When I'm a Skype call to a video person works very well, but when there is more than one I can no longer see the other participants. There is also no button to end the call and the only way to get out of the call, it's be quiting Skype and it starts again.

    It used to work in the past and Skype was great if not sure whats going on. I'm on Win 10 64-bit with Skype version 7.25.0.106

    Someone at - it ideas?

    Your Skype is not always connected to the Cloud server.

    The correct State shall be:

    Status: NetStateConnected

    Check your hosts filein Windows, DNS/VPN/proxy settings.

    Try first to reset your Windows hosts file:

    https://support.Microsoft.com/en-us/KB/972034

  • Received a call from the scam making pretend to be Windows technician

    Original title: the license expires

    Received a call today by a technician from Windows indicating they received the error messages from my computer and that my IP address has been disconnected.  I bought my computer in 2004 and never received any notice.  He said that some of my programs may stop working if I did not renew the license.  My question is - is - it a legal representative of Windows or just someone trying to sell a product?

    (1) "licensing" do not expire.

    (2) no MS gets your computer error messages. In fact, they would have no way of knowing something about you.

    (3) it is not a representative of Windows. Microsoft does not make unsolicited calls.

    (4) it is a well known scam talked again and again in these forums.

    (5) they do not sell anything. They want access to your computer and your credit card. You know what's going to happen.

  • problem of function call strange library

    Hey everybody:

    I have a program with a simple call lib. function and normally it works well right after that I wrote but failed when I tried to run the second time. The error code is 1097 and the notice said: "an exception has occurred in the external code that is called by a function of the call library node. The exception may have corrupted memory of LabVIEW. Save all work to a new location and restart LabVIEW. "Sometimes it works after I restarted Labview but sometimes not.

    Someone said here before that this normally happens because of the memory management in labview. A more detailed idea? Thank you!

    A pointer to a value means that you are passing to the location of the memory when the value is stored. Function no doubt trying to update the value directly, but why does he need a pointer to the value, not the value itself. If it receives only the value so it cannot update the correct memory location. It updates a location memory - it will simply be the wrong memory location.

  • Headphone broken for Acer Liquid Z330

    I just bought a liquid Z330 two weeks ago and everything seems to work normally very well until last night. I always have a listener glued to my ears, so I heard a difference. Audio output of my phone headset is a moment muffled and distorted particularly in the bass which seemed still loud noise yesterday. I never dropped my phone and never got wet, so I'm sure that's not inappropriate manipulation of the damage. So I tried these things so far:

    • I checked first Equalizer integrated Equalizer of DTS and Google play music. The settings have not changed, but the audio is suddenly broken.
    • Also checked if it is an isolated problem app. Nope. Even YouTube, Spotify, VLC, play music have distorted audio. Game audio is also flawed.
    • Checked if the earphones I use (the supplied headphones, that is) are already broken, but they work perfectly well in other devices.
    • Finally, I tried to different headphones on my phone (I tried Apple's EarPods as well speaker of our House system) and the results are the same, that were previously not the case since I used EarPods and speaker system recently.

    I guess it's a hardware problem with the headphone jack. Any ideas on what it could be? I should make the trip to the service center or y at - it an easy solution to this without void my warranty? Thank you!

    try one last thing, a factory reset, but back up your data before doing so.

    backup of the settings / & reset - Reset data

    If after the reset, audio is always distorted, it is a hardware problem and need to be repaired.

  • Number called often not stored in the newspaper!

    Hello, if it was a one time incident then I wouldn't mind so much, but it happened that several times already and it's bad enough! Someone told me a number or I see a number somewhere quickly, I ring and hang up because I'm in a hurry and want to save it as a contact later. To my surprise there is nothing in a call log. Everyone does experience as well? Imagine that a hot chick to give me a number in a club and then I don't have it!

    It is in the storage option

  • Email listening to BB10

    Hello

    This forum is very useful for me.

    Can someone tell me if we can send and receive emails using the BB10 API as well can we have any API that helps us to listen to incoming emails?

    Thank you and best regards,

    Shubhangi

    You can read about it for yourself, rather than just take Pumano Word for her. ;-)

    http://devBlog.BlackBerry.com/2012/08/flight-arrival-boards/

  • "The remote procedure call failed and did not execute." Tried many things, still does not work

    Hello, whenever I try to open a file, the message "the remote procedure call failed and did not execute" appears. I checked that "Remote Procedure Call" began and is on automatic, as well as the RPC Locator is the manual value. I also ran a full system scan of my Norton Antivirus, which picked up nothing.  Can someone please?

    Hello

    You can try to change RPC Locator auto and see if that fixes the problem?

    I recommend that you only perform a scan with the auditor of the filesystem, which will scan your system for missing/corrupted or damaged files and will try to correct them.

    How to run the System File Checker

    http://www.SevenForums.com/tutorials/1538-SFC-SCANNOW-Command-System-File-Checker.html

    Also, you can run the check disk to find bad sectors that may be present on your system.

    Check your hard drive for errors

    http://Windows.Microsoft.com/en-us/Windows-Vista/check-your-hard-disk-for-errors

    Thank you

    Legaede

  • Solved: Webservice Playbook call does not work

    I developed an application Webworks, loosely based on the thread "how I would call a Webservice" and it works very well in the development environment, great in a Blackberry Torch, which is great in the playbook Simulator, but does not work when it is deployed Live from a playbook.  The compilation seems fine.  Find the looks to deploy, the bar is signed without error.  Life should be good!

    The web service is sitting on a server in-house, available on our company intranet, but not the internet.  We use BES.  When I fill the Playbook, I can use the browser open to see the webservice.  The torch, which I'm thrilled to the can run the application very well.  When I run the application on the playbook, however, I get nothing.

    Y at - it an option of setting or configuration I need to use to make this work?  I think that if it works in the Simulator, and if I can get to the site via the browser open, I'd be OK.

    Any help would be greatly appreciated!

    UPDATE: Stipid programmer thing... I had to adjust the white list.  For some reason, the Simulator did not care, but the real instrument don't!

    Yes, adding the item fixed the problem.

    It is a web service that is hosted on an internal server.  The server IP address is 10.x.x.x, so it is not reachable from the internet.  We do not currently have VPN.  I did some checking, and it seems that it is able to reach the server via WiFi.  I had assumed that he was using the bridge.

    It is unfortunate that the WiFi is the only option, because as soon as I leave the building, I have more access to my internal data stores.  It is good to hear that it's something that you're talking, but dissappointing is not available yet.

    Thank you.

Maybe you are looking for