android 发短信 调到联系人
生活随笔
收集整理的這篇文章主要介紹了
android 发短信 调到联系人
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文找不到了??戳藙e人的一些。自己加了一點。做一個代碼備份。自己看就可以了。先上一下圖吧??纯匆恍Ч?/p>
通過上邊選擇聯系人。把選擇過的聯系顯示到EditView 中。而發送短信時??梢垣@取聯系人的電話號碼。
發短信的的類SendmessageActivity.java
package com.hkrt.action;import java.util.List;import android.app.Activity; import android.app.PendingIntent; import android.content.ContentResolver; import android.content.Intent; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract; import android.telephony.SmsManager; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast;public class SendmessageActivity extends Activity {private EditText editNum;private EditText editContext;private String phoneNum;private int LIANXR=10;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);editNum =(EditText)this.findViewById(R.id.input_num);editContext =(EditText)this.findViewById(R.id.input_content);Button button =(Button)this.findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) { // String phoneNum = editNum.getText().toString();String context = editContext.getText().toString();SmsManager sms = SmsManager.getDefault();//發送信息的管理器PendingIntent sentIntent = PendingIntent.getBroadcast(SendmessageActivity.this, 0, new Intent(), 0);//PendingIntent也是一個意圖//把短信內容進行每70個字節分割List<String> conts= sms.divideMessage(context);for(String str:conts){sms.sendTextMessage(phoneNum, null, str, sentIntent, null);}//信息發送完后提示Toast.makeText(SendmessageActivity.this, "短信發送完成", Toast.LENGTH_LONG).show();}});Button btnContact = (Button)this.findViewById(R.id.btnContact);btnContact.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);startActivityForResult(intent, LIANXR);}});}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);ContentResolver resol = getContentResolver();if (resultCode == Activity.RESULT_OK) {String name;Uri contactData = data.getData();Cursor c = managedQuery(contactData, null, null, null, null);c.moveToFirst();name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));editNum.setText(name);// 取得聯系人id,每個條目都有一個唯一的id(主鍵)String contactId = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));// 取得聯系人的號碼Cursor phone = resol.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId, null, null);while (phone.moveToNext()) {phoneNum = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));System.out.println("phonum:"+phoneNum);}}}}main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello"/><EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/input_num"/><Button android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="contact"android:id="@+id/btnContact"/><TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/input_context"/><EditText android:layout_height="wrap_content"android:layout_width="fill_parent"android:id="@+id/input_content" android:minLines="3"android:gravity="top"/><Button android:text="@string/button"android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/button"/></LinearLayout> 調用聯系人ContactPick.java package com.hkrt.action;import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.provider.ContactsContract; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import android.widget.SimpleCursorAdapter; import android.widget.AdapterView.OnItemClickListener;public class ContactPick extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);Intent orgIntent = getIntent();Uri queryUri = orgIntent.getData();final Cursor c = managedQuery(queryUri,null,null,null,null);String[] fromColumns = new String[] { ContactsContract.Contacts.DISPLAY_NAME };int[] toLayoutIDs = new int[] { R.id.itemTextView };SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,R.layout.listitemlayout, c, fromColumns, toLayoutIDs);ListView lv = (ListView) findViewById(R.id.contactListView);lv.setAdapter(adapter);lv.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int pos,long id) {c.moveToPosition(pos);int rowId = c.getInt(c.getColumnIndexOrThrow(ContactsContract.Contacts._ID));Uri outURI = Uri.parse(ContactsContract.Contacts.CONTENT_URI .toString()+ rowId);Intent outData = new Intent();outData.setData(outURI);setResult(Activity.RESULT_OK, outData);finish();}});}}對應的兩個xml .contact.xml 和listitemlayout.xml <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="fill_parent"><ListView android:id="@+id/contactListView"android:layout_width="fill_parent"android:layout_height="wrap_content" /> </LinearLayout>
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="fill_parent"><TextView android:id="@+id/itemTextView" android:layout_width="wrap_content"android:layout_height="wrap_content" android:padding="10px"android:textSize="16px" android:textColor="#FFF" /></LinearLayout>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.hkrt.action"android:versionCode="1"android:versionName="1.0"><uses-sdk android:minSdkVersion="8" /><application android:icon="@drawable/send" android:label="@string/app_name"><uses-library android:name="android.test.runner" /><activity android:name=".SendmessageActivity" android:label="@string/app_name"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><activity android:name=".ContactPick" android:label="@string/app_name"><action android:name="android.intent.action.PICK" /><category android:name="android.intent.category.DEFAULT" /></activity></application><instrumentation android:name="android.test.InstrumentationTestRunner"android:targetPackage="com.hkrt.action" android:label="Tests for My App" /><uses-permission android:name="android.permission.SEND_SMS"/><uses-permission android:name="android.permission.READ_CONTACTS" /><uses-permission android:name="android.permission.WRITE_CONTACTS" /></manifest>demo 目錄圖:
轉載于:https://www.cnblogs.com/java20130726/archive/2012/01/09/3218322.html
總結
以上是生活随笔為你收集整理的android 发短信 调到联系人的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机代数与数论pdf,计算机代数与数论
- 下一篇: Thinking in java之前