Android通过单击按钮事件保存联系人

问题描述

我要创建一个按钮,当单击该按钮时,它会创建所有人的信息(例如姓名,电子邮件和电话号码)并将其保存到联系人列表中,而无需打开联系人表单或单击保存,代码是用Java编写的。

EditText name;
EditText phone;
Button addContact;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);

    name = findViewById(R.id.editTextTextPersonName);
    phone = findViewById(R.id.editTextPhone2);
    addContact = findViewById(R.id.buttonDone);

    addContact.setonClickListener(new View.OnClickListener(){

        public void onClick(View v){
            if(!name.getText().toString().isEmpty() && !phone.getText().toString().isEmpty()){


                Intent intent = new Intent(Intent.ACTION_INSERT);
                intent.setType(ContactsContract.RawContacts.CONTENT_TYPE);
                intent.putExtra(ContactsContract.Intents.Insert.NAME,name.getText().toString());
                intent.putExtra(ContactsContract.Intents.Insert.PHONE,phone.getText().toString());


                if(intent.resolveActivity(getPackageManager()) !=null){
                    startActivity(intent);
                }else{
                    Toast.makeText(MainActivity2.this,"Try again",Toast.LENGTH_SHORT).show();

                }
            }else{
                Toast.makeText(MainActivity2.this,Toast.LENGTH_LONG).show();

            }
        }
    }

    );
}

}

解决方法

您需要使用ContactsProvider。您将看到如何使用它以及一些示例。