android:从Android应用程序拨打多个电话

时间:2018-05-28 11:10:33

标签: java android

所以,我有一个电话联系人列表,我需要从我的应用程序中按顺序调用。 我拨打第一个号码,等待它结束,然后拨打下一个号码,等待等等。

如何修改我的代码,以便只有当前呼叫未结束时(未接来电)才会调用下一个联系人?

截至目前,我的代码看起来像这样。

点击Button的点击监听器:

callButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Realm db = Realm.getDefaultInstance();
                RealmQuery<Contact> query = db.where(Contact.class);
                RealmResults<Contact> results= query.findAll();
                callAllContacts(results);
            }
        });

callAllContacts(RealmResults):

private void callAllContacts(RealmResults<Contact> results){
        for(Contact c: results){
            Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+c.getPhone()));
            if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CALL_PHONE)
                    == PackageManager.PERMISSION_GRANTED) {
                Toast.makeText(MainActivity.this,"Calling " + c.getName(),Toast.LENGTH_SHORT).show();
                startActivity(intent);
            }
        }
    }

Contact.java:

public class Contact extends RealmObject{

    public Contact() {
        name = "";
        phone = "";
    }

    @NonNull
    public String name;

    @PrimaryKey
    public String phone;

    @NonNull
    public String getName() {
        return name;
    }

    public void setName(@NonNull String name) {
        this.name = name;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }
}

0 个答案:

没有答案