Я пытаюсь играть некоторые тон, когда мое приложение в фоновом режиме, и я нажимаю на «камеры» кнопка, что я делаю это простые шаги.BroadcastReceiver не получают нажатие на кнопку камеры
Создание
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(); } }
Регистрация
BrodcastReceiver
вonCreate
Methode.@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 в манифест андроида.
<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, открывается только приложение камеры. Может быть, я что-то делаю неправильно или что-то пропустил?
Я использую телефон Sony Ericsson XPeria Arc с Android 2.3.4 версии ОС.
Вы пытались поставить приемник на службу? Мероприятия не живут долго в фоновом режиме, вы не можете ожидать, что он получит сигналы, если у него больше нет переднего плана ... – Joel
@Joel no Как я могу это сделать? –
@Joel Я прочитал несколько сообщений, которые люди делали что-то вроде этого, и этот код работает хорошо, я хочу использовать Сервис в конце, если в работе не было никакого способа сделать это. –