Android: Don't directly use the action string values but refer to the fields.

This increases the robustness of the code since the field value
is not an implementation detail.

In addition we guard the action field lookup against fields
which have been introduced later than the standard SDK version 10
supported by Qt.

Task-number: QTBUG-36810
Change-Id: Ib6582e77202d40aaf116fe8dfa81562d89367ea2
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Android: Don't directly use java field values

Action strings were previously converted. This patch fixes all
non-action fields.

Task-number: QTBUG-36810
Change-Id: I4011c619e900dcb4137c6552046f0342327a7288
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Android: Fix crashes due to concurrency issues

BroadcastReceiver.onReceive() is executed in the main thread whereas
the Qt classes are in a different thread. This created issues whereby
Java's qtObject pointer was reset by the Qt classes/thread but
onReceive still trying to access the same object later on.

In most cases the Qt classes using BroadcastReceiver were half way
through their object tear down. This patch fixes the problem by
guarding qtObject against concurrent thread access and ensures that
the qtObject pointer is reset before the object tear down starts.

Change-Id: Iab97b0af8e10686d97419ac8504f2fe69e9536f3
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>