首页 > 解决方案 > 自动发送消息并拨打紧急联系人电话的应用程序

问题描述

我对 Android 和 Java 完全陌生。我正在设计一个不断获取一些输入数据(生命信号)的应用程序,一旦观察到异常读数,即心率 < 50,该应用程序将自动发送消息并向一个(或多个)紧急联系人拨打电话。到目前为止,我发现提到“自动发送/呼叫”的教程都是关于使用 Intent 在我们自己的应用程序中发送/呼叫,但用户仍然必须按下按钮才能继续。有没有办法做到这一点?我现在拥有的一个:

public class MainActivity extends AppCompatActivity {

    private EditText phone;
    private ImageButton call;

    @RequiresApi(api = Build.VERSION_CODES.M)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        phone = findViewById(R.id.number);
        call = findViewById(R.id.call);

        call.setOnClickListener(new View.OnClickListener(){
        //set number
            public void onClick(View v){
                String phoneNumber = phone.getText().toString();

                Intent intent = new Intent(Intent.ACTION_CALL);
                intent.setData(Uri.parse("tel:"+phoneNumber));
                startActivity(intent);
            }
    });




    }
}

我已经尝试删除侦听器,以便它不再等待我单击按钮来调用:

 phone = findViewById(R.id.number);
 //Removed listener
 String phoneNumber = phone.getText().toString();
 Intent intent = new Intent(Intent.ACTION_CALL);
 intent.setData(Uri.parse("tel:"+phoneNumber));
 startActivity(intent);

但事实证明,一旦我启动应用程序,应用程序即使不输入号码也直接拨打电话,当然通话失败。

标签: javaandroid

解决方案


我认为您需要使用触发事件。您可以查看此站点以获取有关它的更多信息。 https://developer.android.com/reference/android/hardware/TriggerEvent


推荐阅读