我想,當我的應用程序在後臺播放一些語氣和我按收到「相機」該按鈕我做這個簡單的步驟按鍵。廣播接收器不會對相機按鈕
創建
BroadcastReceiver
類public class CameraButtonListener extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { ToneGenerator tone = new ToneGenerator(AudioManager.STREAM_DTMF, 100); tone.startTone(0,2000); abortBroadcast(); } }
在
onCreate
梅索德註冊BrodcastReceiver
。@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MediaButtonBrodcastReceiver receiver = new MediaButtonBrodcastReceiver(); IntentFilter filter = new IntentFilter(Intent.ACTION_CAMERA_BUTTON); filter.setPriority(25645895); registerReceiver(receiver,filter); }
將brodcast接收器添加到android清單。
<receiver android:enabled="true" android:exported="true" android:name=".CameraButtonListener"> <intent-filter android:priority="25645895"> <action android:name="android.intent.action.CAMERA_BUTTON" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter>
後我啓動我的應用程序,然後按菜單鍵,應用程序轉到後臺,我按下相機按鈕並沒有什麼heppens後,只有相機應用程序被打開。也許我做錯了什麼或者我錯過了什麼?
我使用的是Android 2.3.4操作系統版本的索尼愛立信XPeria Arc手機。
您是否嘗試過將接收器放入服務中?活動不會長期在後臺進行,你不能指望它在接收到信號後不再有前景...... – Joel
@Joel no我該怎麼做? –
@Joel我讀過一些帖子,人們做了這樣的事情,並且代碼運行良好,如果在活動中沒有辦法做到這一點,我最終要使用Service。 –