Я разрабатываю приложение для Android SOS. Я хочу обнаружить жест (например, несколько касаний на экране), если телефон находится в режиме ожидания/ожидания и начать отправку запроса справки (например, отправить смс). Как я могу определить этот жест? Кто-нибудь, кто может мне помочь? СпасибоОбнаружение Жест с телефоном, спящим
--- РЕШЕНИЕ ---- Я нашел решение here и это мой код:
1) в основной деятельности
getApplicationContext().startService(new Intent(this, UpdateService.class));
2) Я создать службу
public class UpdateService extends Service {
@Override
public void onCreate() {
super.onCreate();
// register receiver that handles screen on and screen off logic
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
BroadcastReceiver mReceiver = new PowerHookReceiver();
registerReceiver(mReceiver, filter);
}
@Override
public void onStart(Intent intent, int startId) {
boolean screenOn = intent.getBooleanExtra("screen_state", false);
if (!screenOn) {
// your code
} else {
// your code
}
}
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}}
3) Я создаю PowerHookReceiver();
public class PowerHookReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent i = new Intent(context, UpdateService.class);
context.startService(i);
//do what you want
}}
4) манифест
<uses-permission android:name="android.permission.PREVENT_POWER_KEY" />
<receiver android:name=".PowerHookReceiver" >
</receiver>
<service android:name=".UpdateService" />
Я надеюсь, что это полезно =)
Итак, как я могу использовать аппаратную кнопку (чтобы начать действие) в режиме ожидания? – user3193714