One of the greatest features that sets Android apart from most of its mobile counterparts is the highly versatile sharing system that allows apps to declare themselves as targets for different types of media you might want to send from one app to another. All of this is accomplished with the familiar Sharing dialog, also known as the Chooser. Unfortunately, since people began using KitKat, a strange bug has turned up that may randomly cause your last chosen action to be reused automatically instead of allowing you to choose something different each time.

Symptoms

The behavior is basically identical to choosing the 'Always' button along with an action, which automatically bypasses the chooser each time it would normally appear. The problem: it happens after you've pressed the 'Just Once' button or double-tapped an activity. Once the bug kicks in, it's basically stuck. This video demonstrates the the bug.

[EMBED_YT]https://www.youtube.com/watch?v=2KG9otxVfrw

[/EMBED_YT]

Causes

The first thing you should know, this bug seems to happen entirely at random. I've spent hours - literally - trying to reproduce it with different apps and different actions in several combinations, but I can't seem to do it. On the other hand, quite a few people have hit it almost immediately, including a few people on the AP team. So far, nobody has identified a specific pattern of actions that can trigger the bug, but it seems particularly common with YouTube and Chrome. However, those apps may just be more visible because people share from them more frequently.

Solutions and Workarounds

We've got a couple of ways to deal with this bug, but neither of them are perfect. The easiest option is to simply clear your app preferences. This can be done by going to Settings -> Apps -> menu (top right) -> Reset app preferences. Unfortunately, this method isn't without some drawbacks. To begin with, this will clear all of the default actions that were legitimately set on purpose, plus changes made to App Ops permissions, disabled notifications, and disabled apps. All of that is a bit annoying if you've changed anything, but it's worse when you consider that this isn't a permanent fix. This just fixes the problem until it comes back, which may never happen, or it could return almost immediately.

For a longer lasting fix, there are 3rd-party replacements that stand in for the regular sharing dialog. Going with an alternate chooser may not be an ideal solution for everybody, but it should sidestep this bug until Google can provide a fix. The only app I've seen recommended is Andmade Share, but I've never used it and can't vouch for its quality.

Developers can get in on this, as well. It's possible to work around the issue in your apps with a few extra lines of code. The code used in this answer on StackOverflow will invoke the "Complete action with" dialog as long as there is no default app already set, which is precisely the behavior we want to see. Of course, this code won't be necessary once Google fixes the bug, but it wouldn't hurt to include it for your users if you already happen to have an update coming out.

Wrap-Up

Google has yet to acknowledge or respond to the AOSP Issue Tracker thread, but the bug certainly has drawn attention on a quite a few sites, so it probably won't be ignored. A non-Googler by the name of Keiji Ariyama has submitted a patch to AOSP that may be a suitable fix, but it's still awaiting review. Since this isn't a critical bug, we can probably expect a fix in the next OTA. Hopefully, the fixes described above will be suitable until the issue can be resolved more permanently.