Projekt-Anfragen: Tel: 07022/9319004 info@CodeDocu.de Software Entwicklung in C# WPF Asp.Net Core Vba Excel Word SQL-Server EF Linq, UWP Net
#

Android Studio: Kontakt anfügen mit Hilfe von Android Intent
 
Der einfache Vorgang einen Kontakt in Android per java Code hinzuzufügen ist über ein Intent.
Ein Intent entspicht einfach dem systemeigenen Kontakte-Formular, welches man zur Ladezeit einstellt, vorausfüllt und dann öffnet.
 
Die Erstellung und das Füllen erfolgt in 3 Schritten:
Mit new Intent(..) wird das Kontakteformular im Code geöffnet.
Mit intent.putExtra werden die Felder gefüllt.
Mit startActivity(intent); wird das Formular angezeigt
 
Die Ausführung sieht dann wie hier in den Screenshots dargestellt aus:
 
Über den eigenen Button Add Contact wird mit dem Code oben das Kontakte-Formular geöffnet, dann gefüllt und angezeigt.
Der Vorteil in dieser Ablaufweise ist, dass die Verwaltung von Folgeereignissen das systemeigene Formular ausführt und verwaltet.

 
 
Kontakte
Wenn man danach die Kontakte unter Android prüft, dann findet man den neuen Eintrag als Kontakt.
Wie man sieht, wird dabei nicht geprüft ob der Kontakt schon vorhanden ist. Der Kontakt wird einfach als RawContact erneut angefügt.

 
Das Codebeispiel unter Google Developer ist unter
https://developer.android.com/training/contacts-provider/modify-data.html
 
 

public void btnAdd_Contact_onClick(View view) {
//--------------< btnAdd_Contact_onClick() --------------------

//< create intent Contact-add >
Intent intent = new Intent(ContactsContract.Intents.Insert.ACTION);
intent.setType(ContactsContract.RawContacts.
CONTENT_TYPE);
//</ create intent Contact-add >

//< get entered-data >
EditText mEmailAddress = (EditText) findViewById(R.id.txtEmail);
EditText mPhoneNumber = (EditText) findViewById(R.id.
txtTelephone);
//</ get entered-data >

// Inserts an email address
intent.putExtra(ContactsContract.Intents.Insert.EMAIL, mEmailAddress.getText())
.putExtra(ContactsContract.Intents.Insert.
EMAIL_TYPE, ContactsContract.CommonDataKinds.Email.TYPE_WORK)
.putExtra(ContactsContract.Intents.Insert.
PHONE, mPhoneNumber.getText())
//In this example, sets the phone type to be a work phone.
.putExtra(ContactsContract.Intents.Insert.PHONE_TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_WORK);

//< start form >
startActivity(intent);
//</ start form >
//--------------</ btnAdd_Contact_onClick() --------------------
}
 

 
 
 
 
Kompletter Java-Code

package de.rue25.test_2016_08_22_add_new_contact;

import android.content.Intent;
import android.provider.ContactsContract;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

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

public void btnAdd_Contact_onClick(View view) {
//--------------< btnAdd_Contact_onClick() --------------------

//< create intent Contact-add >
Intent intent = new Intent(ContactsContract.Intents.Insert.ACTION);
intent.setType(ContactsContract.RawContacts.
CONTENT_TYPE);
//</ create intent Contact-add >

//< get entered-data >
EditText mEmailAddress = (EditText) findViewById(R.id.txtEmail);
EditText mPhoneNumber = (EditText) findViewById(R.id.
txtTelephone);
//</ get entered-data >

// Inserts an email address
intent.putExtra(ContactsContract.Intents.Insert.EMAIL, mEmailAddress.getText())
.putExtra(ContactsContract.Intents.Insert.
EMAIL_TYPE, ContactsContract.CommonDataKinds.Email.TYPE_WORK)
.putExtra(ContactsContract.Intents.Insert.
PHONE, mPhoneNumber.getText())
//In this example, sets the phone type to be a work phone.
.putExtra(ContactsContract.Intents.Insert.PHONE_TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_WORK);

//< start form >
startActivity(intent);
//</ start form >
//--------------</ btnAdd_Contact_onClick() --------------------
}
}

 

 
Und vollständiger xml App Code der activity_main.xml

 
Xml der activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="de.rue25.test_2016_08_22_add_new_contact.MainActivity">

<
TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:id="@+id/textView"/>

<
Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add Contact"
android:id="@+id/btnAdd_Contact"
android:onClick="btnAdd_Contact_onClick"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="72dp"/>

<
EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:text="Firstname"
android:ems="10"
android:id="@+id/txtFirstname"
android:layout_marginTop="36dp"
android:layout_below="@+id/textView"
android:layout_alignLeft="@+id/txtTelephone"
android:layout_alignStart="@+id/txtTelephone"/>

<
EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="phone"
android:ems="10"
android:id="@+id/txtTelephone"
android:layout_alignTop="@+id/lblTelephone"
android:layout_alignLeft="@+id/btnAdd_Contact"
android:layout_alignStart="@+id/btnAdd_Contact"/>

<
TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Firstname"
android:id="@+id/lblName"
android:layout_alignTop="@+id/txtFirstname"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"/>

<
TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Telephone"
android:id="@+id/lblTelephone"
android:layout_below="@+id/txtFamilyname"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="24dp"/>

<
TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Familyname"
android:id="@+id/lblFamilyname"
android:layout_below="@+id/txtFirstname"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="21dp"/>

<
EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:text="Familyname"
android:ems="10"
android:id="@+id/txtFamilyname"
android:layout_alignTop="@+id/lblFamilyname"
android:layout_alignLeft="@+id/txtTelephone"
android:layout_alignStart="@+id/txtTelephone"/>

<
EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:ems="10"
android:id="@+id/txtEmail"
android:layout_below="@+id/txtTelephone"
android:layout_alignLeft="@+id/txtTelephone"
android:layout_alignStart="@+id/txtTelephone"
android:layout_marginTop="24dp"/>

<
TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Email:"
android:id="@+id/lblEmail"
android:layout_alignTop="@+id/txtEmail"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"/>

</
RelativeLayout>
 

 Video Anleitung: 
Mobile
»
App Settings als App Preferences speichern und lesen
»
Android Settings zu einem App Project zufügen
»
Android Code: Kontakte anfügen mit Person, Email, Telefon mit Batch Operationen
»
Android Studio: Kontakt anfügen mit Hilfe von Android Intent
»
Android Code: Automatisch eine Telefon-Nummer wählen
»
Android App Code: Start Stop von Wlan mit Java Code
»
Android App Code: App soll Wifi anschalten, Intent
»
Android: StartActivity und Intent wie Makros für Apps
»
Android Code: Android Kontakte lesen und in eine ListView speichern
»
Android Java: Angepasste ListView mit eigenem Adapter

.

Jobs, Projekte, Angebote für Freiberufler, Selbstständig an Info@CodeDocu.de