Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 即使应用程序被杀死,如何在后台调用方法_Java_Android - Fatal编程技术网

Java 即使应用程序被杀死,如何在后台调用方法

Java 即使应用程序被杀死,如何在后台调用方法,java,android,Java,Android,我想在后台调用此电源操作,即使应用程序已被禁用,现在我正在使用按钮单击调用此操作&当用户摇晃其设备时,它可以工作,当应用程序处于运行状态时,但我想在后台执行此任务 当应用程序在后台时,使用服务来运行任务,但安卓操作系统会在安卓6.0引入称为“打瞌睡模式”的电池优化一段时间后故意终止该服务 但是仍然有黑客创建持续运行的后台服务 每隔几分钟使用高优先级警报,并检查 服务正在运行,如果服务已停止,则启动 使用FCM 这将唤醒应用程序,但它需要互联网 您可以像facebook messenger弹出窗口

我想在后台调用此电源操作,即使应用程序已被禁用,现在我正在使用按钮单击调用此操作&当用户摇晃其设备时,它可以工作,当应用程序处于运行状态时,但我想在后台执行此任务

当应用程序在后台时,使用服务来运行任务,但安卓操作系统会在安卓6.0引入称为“打瞌睡模式”的电池优化一段时间后故意终止该服务

但是仍然有黑客创建持续运行的后台服务

  • 每隔几分钟使用高优先级警报,并检查 服务正在运行,如果服务已停止,则启动
  • 使用FCM 这将唤醒应用程序,但它需要互联网
  • 您可以像facebook messenger弹出窗口一样附加一个气泡,并将其绑定到后台服务,当服务被终止时,后台服务也会被终止,这可以确保后台服务在不使用adb shell的情况下轻松存在

  • 阅读

    阅读。使用此服务
    public void PowerAction(){
        String messageToSend = "this is a message for helpppppppp!!!";
        String number = "+919999999999";   //strServerUrl+","+strServerUrl1;
        String number1 = "tel:" + "+919999999999".toString().trim();
    
        SmsManager.getDefault().sendTextMessage(number, null, messageToSend, null, null);
        SmsManager.getDefault().sendTextMessage(number1, null, messageToSend, null, null);
    
        Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(number1));
    
        if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
            // TODO: Consider calling
            //    ActivityCompat#requestPermissions
            // here to request the missing permissions, and then overriding
            //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
            //                                          int[] grantResults)
            // to handle the case where the user grants the permission. See the documentation
            // for ActivityCompat#requestPermissions for more details.
            return;
        }
        startActivity(callIntent);
    }