Android从零开始—电话+短信(二十)

知识点:系统电话号码和短信的获取(最好用真机,模拟器上木有电话号码和短信,添加起来不是很方便)


步骤一、主布局配置(代码如下)
<LinearLayout 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=".MainActivity"
android:orientation="vertical">
<Button
android:text="查看联系人信息"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/see_addresse"
android:onClick="onclick"
/>
<Button
android:text="查看接收的短信信息"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/see_sms"
android:onClick="onclick"
/>


</LinearLayout >


步骤二、电话号码/短信息列表布局配置(代码如下)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/test1"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/test2"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/test3"
/>
</LinearLayout>


步骤三、按钮处理-Activity(代码如下)
package com.zjyb.demo43;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends Activity {


public void onclick(View view){
switch(view.getId()){
case R.id.see_addresse:
{
Intent intent=new Intent(this,AddressActivity.class);
startActivity(intent);
break;
}
case R.id.see_sms:
{
Intent intent=new Intent(this,SmsActivity.class);
startActivity(intent);
break;
}
}
}

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


}


}


步骤四、电话号码事件对应的Activity(代码如下)
package com.zjyb.demo43;

import android.app.ListActivity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.provider.ContactsContract.Contacts;
import android.widget.SimpleCursorAdapter;
import android.widget.SlidingDrawer;

public class AddressActivity extends ListActivity{

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);

//准备ContentResolver
ContentResolver resolver=getContentResolver();

Cursor c=resolver.query(Uri.parse("content://contacts/people"), null, null, null,null);
String[] from={ContactsContract.Contacts._ID,ContactsContract.Contacts.DISPLAY_NAME,ContactsContract.PhoneLookup.NUMBER};
int[] to={R.id.test1,R.id.test2,R.id.test3};
SimpleCursorAdapter adapter=new SimpleCursorAdapter(this, R.layout.item_layout, c, from, to);
setListAdapter(adapter);


}

}


步骤五、短消息的Activity(代码如下)
package com.zjyb.demo43;

import android.app.ListActivity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.widget.SimpleCursorAdapter;

public class SmsActivity extends ListActivity{

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);

ContentResolver resolver= getContentResolver();
Cursor c=resolver.query(Uri.parse("content://sms"),null,null, null, null);
String[] from={"address","body"};
int[] to={R.id.test1,R.id.test2};
SimpleCursorAdapter adapter=new SimpleCursorAdapter(this, R.layout.item_layout, c, from, to);
setListAdapter(adapter);
}


}



步骤六、记得注册Activity+添加权限哦(代码如下)
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.zjyb.demo43"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.zjyb.demo43.MainActivity"
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=".AddressActivity"/>
<activity android:name=".SmsActivity"/>
</application>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.WRITE_SMS"/>
</manifest>



源码下载请点击这里:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值