欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

android教程之intent的action属性使用示例(intent发短信)

程序员文章站 2022-06-19 19:58:21
action :规定了intent要完成的动作,是一个字符串常量。使用setaction()来设置action属性,使用getaction()来获得action属性。既可以...

action :规定了intent要完成的动作,是一个字符串常量。使用setaction()来设置action属性,使用getaction()来获得action属性。既可以使用系统内置的action,也可以自己定义。系统自定义的action,如action_view, action_edit, action_main等等。

1.自定义action

在“目的activity”的androidmanifest.xml中指定action常量。

复制代码 代码如下:

<activity android:name=".actiondestination">
   <intent-filter>
       <action android:name="skywang_action" />
       <category android:name="android.intent.category.default"/>
   </intent-filter>
</activity>

<categoryandroid:name="android.intent.category.default" />的作用是用来说明,可以通过隐式跳转(即其它类调用setaction("skywang_action"))来找到actiondestination这个activity。这样,其它的类就可以通过下面的代码跳转到actiondestination。跳转时,setaction的字符串"skywang_action"必须与androidmanifest.xml中定义的"skywang_action"一致。
复制代码 代码如下:

intent intent = new intent(); 
intent.setaction("skywang_action"); 
startactivity(intent);

2系统action

复制代码 代码如下:

// 流量网页
uri uri =uri.parse("http://www.baidu.com");
intent intent = newintent(intent.action_view, uri); 
startactivity(intent);
// 拨打电话
// if you want to use action_dial, you mustadd permissin in manifest, the permission is bellow
// <uses-permissionandroid:name="android.permission.call_phone" />
uri uri = uri.parse("tel:12580");
intent it = new intent(intent.action_dial,uri);
startactivity(it);
// 发送短信
uri uri = uri.parse("smsto:13410177756");
intent it = newintent(intent.action_sendto, uri);
it.putextra("sms_body", "thesms text");
startactivity(it);
//播放mp3
intent it = new intent(intent.action_view);
uri uri =uri.parse("file:///sdcard/song.mp3"); 
it.setdataandtype(uri, "audio/mp3");
startactivity(it);