android 常用action和category

来源:互联网 发布:淘宝怎样装修店铺 编辑:程序博客网 时间:2024/06/12 01:27


之前 写过一篇文章介绍常用的uri    http://blog.csdn.net/iamkila/article/details/7264663
当需要在我们的应用程序上启动其他系统应用程序时 我们通常用到action 下面介绍常用到的action 
虽然自己比较少用到 记录一下方便用到时可以在这里翻资料

1 Intent.ACTION_MAIN

String: android.intent.action.MAIN

标识Activity为一个程序的开始。比较常用。

Input:nothing

Output:nothing 

 

<activity android:name=".Main" android:label="@string/app_name">   
<intent-filter>
         <action android:name="android.intent.action.MAIN" />
         <category android:name="android.intent.category.LAUNCHER" />
     </intent-filter>
</activity> 

 

2 Intent.Action_CALL

Stirng: android.intent.action.CALL

呼叫指定的电话号码。

Input:电话号码。数据格式为:tel:+phone number 

Output:Nothing 

 

Intent intent=new Intent(); 

intent.setAction(Intent.ACTION_CALL);   
intent.setData(Uri.parse("tel:1320010001");
startActivity(intent);

 

3 Intent.Action.DIAL

String: action.intent.action.DIAL

调用拨号面板


Intent intent=new Intent();
intent.setAction(Intent.ACTION_DIAL);   //android.intent.action.DIAL
intent.setData(Uri.parse("tel:1320010001");
startActivity(intent); 


Input:电话号码。数据格式为:tel:+phone number 

Output:Nothing

说明:打开Android的拨号UI。如果没有设置数据,则打开一个空的UI,如果设置数据,action.DIAL则通过调用getData()获取电话号码。

但设置电话号码的数据格式为 tel:+phone number. 

 

4 Intent.Action.ALL_APPS

String: andriod.intent.action.ALL_APPS

列出所有的应用。

Input:Nothing.

Output:Nothing.

 

5 Intent.ACTION_ANSWER

Stirng:android.intent.action.ANSWER

处理呼入的电话。

Input:Nothing.

Output:Nothing.

 

6 Intent.ACTION_ATTACH_DATA

String: android.action.ATTCH_DATA

别用于指定一些数据应该附属于一些其他的地方,例如,图片数据应该附属于联系人

Input: Data

Output:nothing

 

7 Intent.ACTION_BUG_REPORT

String: android.intent.action.BUG_REPORT

显示Dug报告。

Input:nothing

output:nothing

 

8 Intent.Action_CALL_BUTTON

String: android.action.intent.CALL_BUTTON.

相当于用户按下“拨号”键。经测试显示的是“通话记录”

Input:nothing

Output:nothing

 

Intent intent = new Intent(Intent.ACTION_CALL_BUTTON);
startActivity(intent);

 

9 Intent.ACTION_CHOOSER

String: android.intent.action.CHOOSER

显示一个activity选择器,允许用户在进程之前选择他们想要的,与之对应的是Intent.ACTION_GET_CONTENT.

 

10. Intent.ACTION_GET_CONTENT

String: android.intent.action.GET_CONTENT

允许用户选择特殊种类的数据,并返回(特殊种类的数据:照一张相片或录一段音) 

Input: Type

Output:URI

 

int requestCode = 1001;
Intent intent = new Intent(Intent.ACTION_GET_CONTENT); // "android.intent.action.GET_CONTENT"
intent.setType("image/*"); // 查看类型,如果是其他类型,比如视频则替换成 video/*,或 */*
Intent wrapperIntent = Intent.createChooser(intent, null);

startActivityForResult(wrapperIntent, requestCode);  


11 Intent.ACTION_VIEW

String android.intent.action.VIEW

用于显示用户的数据。

比较通用,会根据用户的数据类型打开相应的Activity。

比如 tel:13400010001打开拨号程序,http://www.g.cn则会打开浏览器等。

 

Uri uri = Uri.parse("http://www.google.com"); //浏览器 
Uri uri =Uri.parse("tel:1232333"); //拨号程序 
Uri uri=Uri.parse("geo:39.899533,116.036476"); //打开地图定位 
Intent it = new Intent(Intent.ACTION_VIEW,uri); 
startActivity(it); 

//播放视频 
Intent intent = new Intent(Intent.ACTION_VIEW); 
Uri uri = Uri.parse("file:///sdcard/media.mp4"); 
intent.setDataAndType(uri, "video/*"); 
startActivity(intent);

//调用发送短信的程序 
Intent it = new Intent(Intent.ACTION_VIEW);
it.putExtra("sms_body", "信息内容..."); 
it.setType("vnd.android-dir/mms-sms"); 
startActivity(it);

 

12 Intent.ACTION_SENDTO 

String: android.intent.action.SENDTO 
说明:发送短信息

 

//发送短信息 
Uri uri = Uri.parse("smsto:13200100001"); 
Intent it = new Intent(Intent.ACTION_SENDTO, uri); 
it.putExtra("sms_body", "信息内容..."); 
startActivity(it); 

 

复制代码
//发送彩信,设备会提示选择合适的程序发送 
Uri uri = Uri.parse("content://media/external/images/media/23"); 
//设备中的资源(图像或其他资源) 
Intent intent = new Intent(Intent.ACTION_SEND); 
intent.putExtra("sms_body", "内容"); 
intent.putExtra(Intent.EXTRA_STREAM, uri); 
intent.setType("image/png"); 
startActivity(it);
复制代码


复制代码
 //Email 
Intent intent=new Intent(Intent.ACTION_SEND); 
String[] tos={"android1@163.com"}; 
String[] ccs={"you@yahoo.com"}; 
intent.putExtra(Intent.EXTRA_EMAIL, tos); 
intent.putExtra(Intent.EXTRA_CC, ccs);
 intent.putExtra(Intent.EXTRA_TEXT, "The email body text"); 
intent.putExtra(Intent.EXTRA_SUBJECT, "The email subject text"); 
intent.setType("message/rfc822"); 
startActivity(Intent.createChooser(intent, "Choose Email Client"));
复制代码

 

13 Intent.ACTION_GET_CONTENT

 

//选择图片 requestCode 返回的标识
Intent intent = new Intent(Intent.ACTION_GET_CONTENT); //"android.intent.action.GET_CONTENT"
intent.setType(contentType); //查看类型 String IMAGE_UNSPECIFIED = "image/*";
Intent wrapperIntent = Intent.createChooser(intent, null);
((Activity) context).startActivityForResult(wrapperIntent, requestCode);  


//添加音频
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType(contentType); //String VIDEO_UNSPECIFIED = "video/*";
Intent wrapperIntent = Intent.createChooser(intent, null);
((Activity) context).startActivityForResult(wrapperIntent, requestCode);  



复制代码
 //拍摄视频 
int durationLimit = getVideoCaptureDurationLimit(); //SystemProperties.getInt("ro.media.enc.lprof.duration", 60);
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
intent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, sizeLimit);
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, durationLimit);
startActivityForResult(intent, REQUEST_CODE_TAKE_VIDEO);
复制代码

 

//视频
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType(contentType); //String VIDEO_UNSPECIFIED = "video/*";
Intent wrapperIntent = Intent.createChooser(intent, null);
((Activity) context).startActivityForResult(wrapperIntent, requestCode);  


//录音
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType(ContentType.AUDIO_AMR); //String AUDIO_AMR = "audio/amr";
intent.setClassName("com.android.soundrecorder",
"com.android.soundrecorder.SoundRecorder");
((Activity) context).startActivityForResult(intent, requestCode);  


//拍照 REQUEST_CODE_TAKE_PICTURE 为返回的标识
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); //"android.media.action.IMAGE_CAPTURE";
intent.putExtra(MediaStore.EXTRA_OUTPUT, Mms.ScrapSpace.CONTENT_URI); // output,Uri.parse("content://mms/scrapSpace");
startActivityForResult(intent, REQUEST_CODE_TAKE_PICTURE);
  



提供将要执行的action的额外信息,一般在隐式地启动activity时需要用到。常见的category如下:

 

  1. CATEGORY_ALTERNATIVE  
  2. 设置这个activity是否可以被认为是用户正在浏览的数据的一个可选择的action  
  3.    
  4. CATEGORY_APP_BROWSER  
  5. 和ACTION_MAIN一起使用,用来启动浏览器应用程序  
  6.    
  7. CATEGORY_APP_CALCULATOR  
  8. 和ACTION_MAIN一起使用,用来启动计算器应用程序  
  9.    
  10. CATEGORY_APP_CALENDAR  
  11. 和ACTION_MAIN一起使用,用来启动日历应用程序  
  12.    
  13. CATEGORY_APP_CONTACTS  
  14. 和ACTION_MAIN一起使用,用来启动联系人应用程序  
  15.    
  16. CATEGORY_APP_EMAIL  
  17. 和ACTION_MAIN一起使用,用来启动邮件应用程序  
  18.    
  19. CATEGORY_APP_GALLERY  
  20. 和ACTION_MAIN一起使用,用来启动图库应用程序  
  21.    
  22. CATEGORY_APP_MAPS  
  23. 和ACTION_MAIN一起使用,用来启动地图应用程序  
  24.    
  25. CATEGORY_APP_MARKET  
  26. 这个activity允许用户浏览和下载新的应用程序  
  27.    
  28. CATEGORY_APP_MESSAGING  
  29. 和ACTION_MAIN一起使用,用来启动短信应用程序  
  30.    
  31. CATEGORY_APP_MUSIC  
  32. 和ACTION_MAIN一起使用,用来启动音乐应用程序  
  33.    
  34. CATEGORY_BROWSABLE   
  35. 能够被浏览器安全调用的activity必须支持这个category  
  36.    
  37. CATEGORY_DEFAULT   
  38. 设置这个activity对于默认的action是否是一个可选的  
  39.    
  40. CATEGORY_EMBED   
  41. 可以运行在父activity容器内  
  42.    
  43. CATEGORY_HOME   
  44. 主activity,当应用程序启动时,它是第一个显示的activity  
  45.    
  46. CATEGORY_LAUNCHER  
  47. 应该在上层的启动列表里显示  
  48.   
  49. CATEGORY_MONKEY  
  50. 这个activity可能被monkey或者其他的自动测试工具执行  
  51.    
  52. CATEGORY_OPENABLE   
  53. 用来指示一个GET_CONTENT意图只希望ContentResolver.openInputStream能够打开URI  
  54.    
  55. CATEGORY_PREFERENCE   
  56. 这个activity是一个选项卡  
  57.    
  58. CATEGORY_SAMPLE_CODE   
  59. 作为一个简单的代码示例使用(一般情况下不使用)  
  60.    
  61. CATEGORY_SELECTED_ALTERNATIVE  
  62. 设置这个activity是否可以被认为是用户当前选择的数据的一个可选择的action  
  63.    
  64. CATEGORY_TAB   
  65. 想要在已有的TabActivity内部作为一个Tab使用  
  66.    
  67. CATEGORY_TEST  
  68. 供测试使用(一般情况不使用)  
  69.    
  70. CATEGORY_UNIT_TEST  
  71. 联合测试使用  

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 u型锁忽然打不开怎么办 密码门锁没电了怎么办 智能门锁没电了怎么办 十字锁钥匙丢了怎么办 罐头的拉环断了怎么办 锁坏了 打不开了怎么办 门锁锁不起来了怎么办 卧室门锁舌断了怎么办 锁舌头坏了怎么办自救 门锁斜舌头断了怎么办 锁把手断了半截怎么办 门锁那一块掉了怎么办 qq动态密码忘了怎么办 小三怀孕了原配该怎么办 我当了小三怎么办 被降职后在单位怎么办 领导故意整我该怎么办 小孩怎么教育都不听怎么办 赵本山怎么办的刘涌 起诉离婚被告不出庭怎么办 安装u盘进入系统怎么办 思讯加密狗坏了怎么办 村主任选不出来怎么办 你的id已被停用怎么办 车牌摇号中签后怎么办 北京车卖了指标怎么办 车的电脑板坏了怎么办 饭卡消磁了怎么办妙招 有好项目没资金怎么办 买的股票涨停了怎么办 考研没过国家线怎么办 中石化的油卡怎么办 5173号被找回了怎么办 谭木匠梳子断了怎么办 198地块上的企业怎么办 天猫投诉不成立怎么办 顾客老嫌瓷砖贵怎么办 公司的公章丢了怎么办 物业不给充电费怎么办 怎么办社保卡去哪里办 单位没给社保卡怎么办