У меня есть приложение, которое я разрабатываю и которое связано с платой. Если доска обнаруживает падения, приложение вызывает номер, установленный пользователем. Тем не менее, приложение работает только тогда, когда оно открыто. Я хочу, чтобы приложение работало в фоновом режиме, чтобы, даже если пользователь случайно просматривал веб-страницу или занимался чем-то другим, в случае падения приложение могло выполнять функцию вызова. Ниже я добавил кусок кода, который выполняет вышеупомянутую вызывающую функцию.
@ Override
public int onStartCommand(Intent intent, int flags, int startId) {
public void displayEvent(@AccelerationEvent int event, int data)
{
if (mCurrentDetectEvent == FeatureAccelerationEvent.DetectableEvent.FREE_FALL) {
Context context = getContext();
mShakeImage.start();
button.setOnClickListener(v -> {
Intent intent = new Intent(context, MainActivity.class);
context.startActivity(intent);
System.exit(0);
});
new Handler().postDelayed(() -> {
new AlertDialog.Builder(context)
.setTitle("Alert")
.setMessage("This is an alert")
.show();
//---------------call function from CallScreen()------------------------------------
Intent intent = new Intent(context.getApplicationContext(), CallScreen.class);
context.startActivity(intent);
}, 10000);
}