Android學習筆記(三) 之模擬打電話

新建一個Android工程,基於Anrdoid2.2模擬器創建

然後完善string.xml文件

[html] 
<span style="font-size:18px;color:#3366ff;"><?xml version="1.0" encoding="utf-8"?> 
<resources> 
 
    <string name="hello">Hello World, SharpPhoneActivity!</string> 
    <string name="app_name">SharpPhone</string> 
    <string name="mobile">請輸入手機號</string> 
    <string name="button">撥打此號</string> 
</resources></span> 

然後是完善界面 修改main.xml
[html]
<span style="font-size:18px;color:#3366ff;"><?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 
 
    <TextView 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="@string/mobile" /> 
    <EditText    
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:id="@+id/phoneno" /> 
    <Button  
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"  
        android:text="@string/button" 
        android:id="@+id/button" 
        /> 
</LinearLayout></span> 

接著需要在Activity類處理信息
[java] 
<span style="font-size:18px;color:#3366ff;">package com.sharpanroid.phone; 
 
import android.app.Activity; 
import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
 
public class SharpPhoneActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
        Button bt=(Button)this.findViewById(R.id.button); 
        bt.setOnClickListener(new View.OnClickListener() { 
             
            @Override 
            public void onClick(View v) { 
                 
                EditText phoneText=(EditText)findViewById(R.id.phoneno); 
                /**
                 * 獲取手機號
                 */ 
                String phoneno=phoneText.getText().toString(); 
                if(null!=phoneno&&!"".equals(phoneno.trim())){ 
                    /**
                     * 數據通過Uri包封裝 ,創建一個撥號意圖
                     */ 
                    Intent intent=new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phoneno)); 
                     
                    startActivity(intent); 
                } 
            } 
        }); 
         
    } 
}</span> 
由於調用瞭打電話的服務,需要在AndroidManifest.xml 文件中進行引用
[java]
<span style="font-size:18px;color:#3366ff;"><?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.sharpanroid.phone" 
    android:versionCode="1" 
    android:versionName="1.0" > 
 
    <uses-sdk android:minSdkVersion="8" /> 
    <uses-permission android:name="android.permission.CALL_PHONE"/> 
    <application 
        android:icon="@drawable/ic_launcher" 
        android:label="@string/app_name" > 
        <activity 
            android:name=".SharpPhoneActivity" 
            android:label="@string/app_name" > 
            <intent-filter> 
                <action android:name="android.intent.action.MAIN" /> 
 
                <category android:name="android.intent.category.LAUNCHER" /> 
            </intent-filter> 
        </activity> 
    </application> 
 
</manifest></span> 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *