標籤:
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" /> <!-- 建立一個按鈕事件,執行打電話 --> <Button android:id="@+id/mainBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Call" /></LinearLayout>
第二個介面布局Second.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:id="@+id/secondTxt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Second" /> <!-- 第二個activity的介面按鈕,主介面點擊相應的按鈕會跳轉到這裡來 --> <Button android:id="@+id/secondBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Second" /></LinearLayout>
在AndroidManifest.xml註冊一下第二個activity介面
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.szy.intent.activity" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="8" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <!-- 建立一個.MainActivity activity--> <activity android:name=".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都需要在這裡註冊一下,一個activity相當於一個介面--> <activity android:name=".SecondActivity" android:label="@string/app_name"> </activity> </application> <!-- 表示打電話的許可權,需要手機申請提供 --> <uses-permission android:name="android.permission.CALL_PHONE"/> <!-- 發簡訊的許可權 --> <uses-permission android:name="android.permission.SEND_SMS"/> </manifest>
MainActivity.java 代碼實現
package com.szy.intent.activity;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity{ private Button mainBtn=null; private final static int REQUEST_CODE=1; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mainBtn=(Button)findViewById(R.id.mainBtn); mainBtn.setOnClickListener(listener); } private OnClickListener listener=new OnClickListener() { public void onClick(View v) {// Intent intent=new Intent(); // intent.setAction(Intent.ACTION_SENDTO);// intent.setData(Uri.parse("smsto:5554"));// intent.putExtra("sms_body", "Welcome to ...");// startActivity(intent); Intent intent=new Intent(); //建立一個Intent對象, intent.setClass(MainActivity.this, SecondActivity.class); //該對象與SecondActivity進行綁定 intent.putExtra("str", "Intent Demo"); //傳遞參數過去,此時是傳遞字串Internt Demo,以及字串id號str //startActivity(intent); startActivityForResult(intent, REQUEST_CODE); //開始傳遞事件,startActivityForResult用於判斷是否要返回 } }; @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode==REQUEST_CODE) //主介面發送時設定的常量,非負才允許操作 { if (resultCode==SecondActivity.RESULT_CODE) //第二個介面RESULT_CODE { Bundle bundle=data.getExtras(); //設定一個Bundle來接收資料 String str=bundle.getString("back"); //接收back字串id號的資料 Toast.makeText(MainActivity.this, str, Toast.LENGTH_LONG).show(); //在主介面顯示資料 } } } }
SecondActivity代碼實現
package com.szy.intent.activity;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class SecondActivity extends Activity{//這個RESULT_CODE於主介面RESULT_CODE實現綁定,也就是說當此時介面返回時,返回給於與自己RESULT_CODE相同值的介面 public final static int RESULT_CODE=1; private TextView secondTxt; //建立一個TextView來用於顯示接收過來的資料 private Button secondBtn; //建立一個button,觸發某一個事件 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.second); //此時為布局檔案second.xml //接收主介面傳遞過來的參數操作 Intent intent=getIntent(); Bundle bundle=intent.getExtras(); String str=bundle.getString("str"); //secondTxt顯示內容 secondTxt=(TextView)findViewById(R.id.secondTxt); secondTxt.setText(str); //點擊secondBtn觸發listener事件 secondBtn=(Button)findViewById(R.id.secondBtn); secondBtn.setOnClickListener(listener); } //觸發listener事件的內容操作 private OnClickListener listener=new OnClickListener() { public void onClick(View v) { //建立一個Intent用於點擊按鈕,返回給RESULT_CODE值相同的介面,傳遞參數為Back Data,id號back Intent intent=new Intent(); intent.putExtra("back", "Back Data"); setResult(RESULT_CODE, intent); finish(); } };}
Android--->Intent