成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android的Intent機制實例講解

移動開發(fā) Android
Intent是Android中簡單的消息傳遞框架。使用Intent,你可以在整個系統(tǒng)內(nèi)廣播消息或者給特定的Activity或者服務來執(zhí)行你的行為意圖。系統(tǒng)會決定那個(些)目標來執(zhí)行適當?shù)男袨?。本文用實例介紹了Intent的用法。

在Android應用程序框架中,有一個比較強大的事件處理機制——Intent(意圖)。Intent(意圖)的作用與事件(event)很像,但與傳統(tǒng)的事件處理有些差異。

傳統(tǒng)的事件處理,講究的是處理者(handler)的觸發(fā),當事件發(fā)生時,便callback事件的處理者,或是直接將該事件傳送(forward)給應用程序,由應用程序決定處理方式。

在「Intent」這樣的事件處理觀念里,Android 試圖將事件解釋為「應用程序的意圖」或是「使用者的意圖」,并試著去解釋該意圖的目的,若 Android 系統(tǒng)本身能理解應用程序的意圖,便會自行去處理該意圖所應執(zhí)行的工作。Android的做法是,在每一意圖(Intent)都帶有一個動作 (action),并根據(jù)不同的動作去行動。

下面是一個通過Intent實現(xiàn)一個自動撥號的例子:

建立一個android工程IntentDialer,編輯IntentDialer.java:

  1. package com.android;   
  2.    
  3. import android.app.Activity;   
  4. import android.content.Intent;   
  5. import android.net.Uri;   
  6. import android.os.Bundle;   
  7. import android.widget.Toast;   
  8.    
  9. public class IntentDialerActivity extends Activity {   
  10.     /** Called when the activity is first created. */   
  11.     @Override   
  12.     public void onCreate(Bundle savedInstanceState) {   
  13.         super.onCreate(savedInstanceState);   
  14.         setContentView(R.layout.main);   
  15.            
  16.         Intent dial = new Intent();   
  17.         dial.setAction("android.intent.action.CALL");   
  18.         dial.setData(Uri.parse("tel:13428720000"));   
  19.         startActivity(dial);   
  20.         Toast.makeText(this"calling to young 13428720000", Toast.LENGTH_LONG).show();   
  21.     }   
  22. }   

因為permission的關系,所以也要在AndroidManifest.xml里加上「CALL_PHONE」的權限。編輯AndroidManifest.xml:

  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"   
  3.     package="com.android"   
  4.     android:versionCode="1"   
  5.     android:versionName="1.0" >   
  6.    
  7.     <uses-sdk android:minSdkVersion="10" />   
  8.    
  9.     <application   
  10.         android:icon="@drawable/ic_launcher"   
  11.         android:label="@string/app_name" >   
  12.         <activity   
  13.             android:name=".IntentDialerActivity"   
  14.             android:label="@string/app_name" >   
  15.             <intent-filter>   
  16.                 <action android:name="android.intent.action.MAIN" />   
  17.    
  18.                 <category android:name="android.intent.category.LAUNCHER" />   
  19.             </intent-filter>   
  20.         </activity>   
  21.     </application>   
  22.     <uses-permission android:name="android.permission.CALL_PHONE" />   
  23.        
  24.    
  25. </manifest>   

這個例子相當簡單,但足以說明Intent的核心了。代碼說明:

先新建一個Intent對象:

  1. Intent dial = new Intent(); 

設定Intent的action為「android.intent.action.CALL」,這是一個內(nèi)建的action:

  1. dial.setAction("android.intent.action.CALL"); 

內(nèi)建action「CALL」需要附帶一筆資料,而資料的寫法是使用URI格式:

  1. dial.setData(Uri.parse("tel:XXXXX")); 

「CALL」是一個activity action,所以調(diào)用startActivity()將Intent送給框架:

  1. startActivity(dial);  

這個例子的概念并不難理解:送出一個帶有內(nèi)建action的Intent給框架,因為action為CALL,所以框架會去啟動撥號activity并撥打電話。

程序運行結果:

責任編輯:徐川 來源: Linux社區(qū)
相關推薦

2014-07-15 10:16:02

AndroidIntent

2013-05-27 14:06:14

Android開發(fā)移動開發(fā)Intent機制

2013-03-28 09:07:37

Android開發(fā)Intent機制

2009-04-03 08:21:37

AndroidGoogle移動OS

2013-01-10 15:36:44

Android開發(fā)組件Intent

2010-01-25 16:52:22

Android Int

2009-06-17 13:57:54

java實例Reflection

2011-05-30 14:00:35

Android Activity Intent

2011-05-23 13:24:01

2011-04-01 09:04:09

RIP

2009-11-23 17:56:44

PHP緩存機制

2011-04-07 13:09:03

明文驗證

2009-11-23 20:16:17

PHP接口特性

2009-11-23 17:31:49

PHP時間戳

2010-06-03 18:22:38

Hadoop

2011-04-02 16:37:26

PAT

2010-09-14 17:20:57

2013-05-21 09:56:15

2009-11-23 14:44:22

PHP 5.0構造函數(shù)

2017-02-21 12:20:20

Android事件分發(fā)機制實例解析
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一级全黄少妇性色生活免费看 | 欧美性生交大片免费 | 成人午夜网 | 成人福利网 | 精品久久香蕉国产线看观看亚洲 | 日韩免费一区 | 欧美成人一区二免费视频软件 | 中文字幕在线精品 | 欧美在线视频不卡 | 成人欧美一区二区三区在线播放 | pacopacomama在线| 黄色一级片aaa | 久久久久久久久久久久久久av | 欧美精品综合在线 | 久久精品亚洲精品国产欧美 | 亚洲黄色一区二区三区 | 国产精品jizz在线观看老狼 | 羞羞色在线观看 | 国产色片 | 久久一二区 | 色呦呦网站 | 国产一区高清 | 久久久国产一区二区三区 | 日日想夜夜操 | 亚洲日韩中文字幕一区 | 日韩高清在线 | 一久久久| 国产 日韩 欧美 在线 | 亚洲欧美另类在线观看 | 欧美伦理一区 | 久久精品视频在线免费观看 | 一区二区日本 | 精品一区二区三区在线观看 | 久久亚洲一区 | 久久久久久久久精 | 欧美精品国产一区二区 | 中文字幕亚洲在线 | 欧美另类视频 | 免费一看一级毛片 | 天天色天天射天天干 | 欧美日韩专区 |