 <p>The solution to your question depends highly on the device you are using. If you have a phone with a dedicated PTT button, the manufacturer of the phone almost certainly has made an Intent available for app developers such as yourself to intercept PTT down and up events, but you'll need to contact the manufacturer for more information.</p> <p>For instance, phones from Kyocera, Sonim, and Casio have such Intents available, and you'd simply need to put a receiver declaration in your AndroidManifest.xml, like this for a Kyocera phone:</p> <pre><code> &lt;receiver android:exported="true" android:name="com.myapp.receiver.KeyReceiverKyocera"&gt; &lt;intent-filter android:priority="9999999"&gt; &lt;action android:name="com.kodiak.intent.action.PTT_BUTTON" /&gt; &lt;action android:name="com.kyocera.android.intent.action.PTT_BUTTON" /&gt; &lt;/intent-filter&gt; &lt;/receiver&gt; </code></pre> <p>Then, a simple BroadcastReceiver class that receives the up and down intents:</p> <pre><code>public class KeyReceiverKyocera extends BroadcastReceiver { private static boolean keyDown = false; @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (keyDown) processPTTDown(); else processPTTUp(); keyDown = !keyDown; } } </code></pre> <p>Hope this helps,</p> <p>Shawn</p>