Intent的七大属性
2016-01-25 17:58
309 查看
[code]Intent对象大致包括7大属性: ComponentName组件、Action动作 、 Category分类 、 Extra扩展 、Data数据 、Type类型、Flags 控制标记。 本文只包含前5种,Type和Flags会单独写。
包括了各种权限的设置,还有就是为了验证方便,MainActivity实现了OnClickListener接口,如果看不懂的话建议看一下button的监听方式。还有就是短信方面可能出现问题,因为本人在验证的时候会出现异常,
怀疑是模拟器没有发送短信功能,但是具体结果有待验证
[code]package com.example.day06_intent; import android.app.Activity; import android.content.ComponentName; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity implements OnClickListener{ private Button button1; private Button button2; private Button button3; private Button button4; private Button button5; private Button button6; private Button button7; private Button button8; private Button button9; private Button button10; private Button button11; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button1= (Button) findViewById(R.id.button1); button2= (Button) findViewById(R.id.button2); button3= (Button) findViewById(R.id.button3); button4= (Button) findViewById(R.id.button4); button5= (Button) findViewById(R.id.button5); button6= (Button) findViewById(R.id.button6); button7= (Button) findViewById(R.id.button7); button8= (Button) findViewById(R.id.button8); button9= (Button) findViewById(R.id.button9); button10= (Button) findViewById(R.id.button10); button11= (Button) findViewById(R.id.button11); button1.setOnClickListener(this); button2.setOnClickListener(this); button3.setOnClickListener(this); button4.setOnClickListener(this); button5.setOnClickListener(this); button6.setOnClickListener(this); button7.setOnClickListener(this); button8.setOnClickListener(this); button9.setOnClickListener(this); button10.setOnClickListener(this); button11.setOnClickListener(this); } @Override public void onClick(View v) { Intent intent =new Intent(); switch (v.getId()) { //ComponentName //1.通过ComponentName 跳转页面(平时用的是Intent的简版) case R.id.button1: ComponentName componentName1 =new ComponentName(MainActivity.this, NextActivity.class); intent.setComponent(componentName1); break; //2.跳转到另外一个app(此时另外一个app需要先启动) //实例化一个ComponentName需要两个参数,第一个参数是要启动应用的包名称,这个包名称是指清单文件中列出的应用的包名称: // 第二个参数是你要启动的Activity或者Service的全称(包名+类名) case R.id.button2: ComponentName componentName2 =new ComponentName("com.example.day05_activity", "com.example.day05_activity.MainActivity"); intent.setComponent(componentName2); break; //3.隐式跳转 case R.id.button3: intent.setAction("next"); break; //4、拨打电话(需要权限) case R.id.button4: intent.setAction(intent.ACTION_CALL); intent.setData(Uri.parse("tel:10086")); break; //5、回到桌面 case R.id.button5: intent.setAction(intent.ACTION_MAIN); intent.addCategory(intent.CATEGORY_HOME); break; //6、打开拨号界面(并将号码设置好) case R.id.button6: intent.setAction(intent.ACTION_DIAL); intent.setData(Uri.parse("tel:10086")); break; //7打开浏览器.别忘了联网权限 case R.id.button7: intent.setAction(intent.ACTION_VIEW); intent.setData(Uri.parse("http://www.baidu.com")); break; //8.发送短信,(只是打开界面并未发送,所以不需要发送短信权限) case R.id.button8: intent.setAction(intent.ACTION_SENDTO); intent.setData(Uri.parse("smsto:10086")); intent.putExtra("sms_body", "sdfsdfkjslkjfdsd"); break; //9打开设置界面 case R.id.button9: intent.setAction("android.settings.SETTINGS"); break; //10.打开WiFi设置 case R.id.button10: intent.setAction("android.settings.WIFI_SETTINGS"); break; //11.打开联系人列表 case R.id.button11: intent.setAction("com.android.contacts.action.LIST_CONTACTS"); break; default: break; } startActivity(intent); } }
相关文章推荐
- Android 知识点总结
- Face Alignment at 3000FPS(C++版)工程配置(非Cmake)
- 通过jQuery的attr修改onclick
- 在eclipse 导入简单的Android studio 简单项目
- Educational Codeforces Round 6(E)DFS序,线段树
- 深入学习委托
- iOS 截图功能
- C# 常用加密处理
- Redis实现Mybatis的二级缓存
- android L SystemProperties属性解析
- C#使用SharpZipLib解压Zip单个文件到内存
- vnc,libvirt,virsh-manager,vnc安装汇总
- 基础三
- GitHub如何使用
- JS对于Android和IOS平台的点击响应的适配
- Android Studio 打包apk,自动追加版本号和版本名称
- 如何搭建千万级别用户的应用系统
- MySQL索引使用方法和性能优化
- Closing Channels
- China Azure 在HDinsight 中使用Spark 功能