天天看點

元件通信Intent(IntentDemo)

Intent是一個動作的完整描述,包含了動作的産生元件、接收元件和傳遞的資料資訊。

Intent可以将一個元件的資料和動作傳遞給另一個元件

Intent為Activity 、Service、BroadcaseReceiver等元件提供互動能力。Intent的一個最覺的用途就是啟動Activity和Service,另一個用途是在Android系統上釋出廣播消息,廣播消息可以是接收到特定資料或消息,也可以是手機的信号變化或 電池的電量過低等資訊。

Intent啟動方式為:顯式啟動和隐式啟動

1.顯式啟動:

Intent intent = new Intent(DemoActivity.this,OtherActivity.class);

startActivity(intent);

2.隐式啟動:

Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.google.com"));

在設定控件的寬度和高度的時候有三個值分别是:

1.fill_parent

2.wrap_content

3.match_parent

其中,match_parent是2.2版本以後推出的,原因是為了解決fill_parent的難以了解,官方建議以後用:match_parent

打電話:

Intent intent = new Intent();

intent.setAction(Intent.ACTION_CALL);

intent.setData(Uri.parse("tel:110"));

打電話得在全局檔案裡加局權:<uses-permission android:name="android.permission.CALL_PHONE"/>...吼吼,不然不行

發送短信跟撥打電話差不多:

intent.putExtra("sms_body","要發送短信的内容!");

intent.setAction(Intent.ACTION_SENTTO);

intent.setData(Uri.parse("smsto:15895899925"));

發短信得在全局檔案裡加局權:<uses-permission android:name="android.permission.SEND_SMS"/>...吼吼,不然也不行

要求第二個Activity傳回一個結果給第一個Activity時:

1.startActivityForResult(intent,此處需要一個整數);還需要實作一個startActivityResult()方法。

2.在第二個Activity中的Intent中:setIntent(要傳回的結果整型,intent);

3.調用finish();它會調用startActivityResult()方法。

以下圖檔看不完整的,可以點選之後看大圖

<a target="_blank" href="http://blog.51cto.com/attachment/201112/193251532.png"></a>

整數作用:做判斷,成功後執行其它方法咯。

eclipse小巧門:按Ctrl+Shift+X可以快速切換所需内容為大寫哦。。O_O

     本文轉自華華世界 51CTO部落格,原文連結:http://blog.51cto.com/mzh3344258/733358,如需轉載請自行聯系原作者

繼續閱讀