Activity 生命周期

显式 Intent 调用

 1     //创建一个显式的 Intent 对象(方法一:在构造函数中指定) 2      Intent intent = new Intent(Intent_Demo1.this, Intent_Demo1_Result1.class); 3       4      Bundle bundle = new Bundle(); 5      bundle.putString("id", strID); 6      intent.putExtras(bundle); 7       8      intent.putExtra("name", "bbb"); 9      intent.putExtra("userInfo", new UserInfo(1, "name"));10      startActivity(intent);11      12      //创建一个显式的 Intent 对象(方法二:用 setClass 方法)13      Intent intent = new Intent();14      Bundle bundle = new Bundle();15      bundle.putString("id", strID);16      intent.setClass(Intent_Demo1.this, Intent_Demo1_Result1.class);17      intent.putExtras(bundle);18      startActivity(intent);19      20      //创建一个显式的 Intent 对象(方法三:用 setClass 方法)21      Intent intent = new Intent();22      Bundle bundle = new Bundle();23      bundle.putString("id", strID);24      intent.setClassName(Intent_Demo1.this, "com.great.activity_intent.Intent_Demo1_Result1");25      intent.putExtras(bundle);26      startActivity(intent);27      28      //创建一个显式的 Intent 对象(方法四:用 setComponent 方法)29      Intent intent = new Intent();30      Bundle bundle = new Bundle();31      bundle.putString("id", strID);32      //setComponent方法的参数:ComponentName33      intent.setComponent(new ComponentName(Intent_Demo1.this, Intent_Demo1_Result1.class));34      intent.putExtras(bundle);35      startActivity(intent);

Intent隐式跳转 Action

 1     //创建一个隐式的 Intent 对象:Action 动作 2     /** 3      * 这里指定的是 AndroidManifest.xml 文件中配置的 4      * <intent-filter>标签中的<action android:name="com.great.activity_intent.Intent_Demo1_Result3" /> 5      * 所在的 Activity,注意这里都要设置 <category android:name="android.intent.category.DEFAULT" /> 6      */ 7     Intent intent = new Intent(); 8     //设置 Intent 的动作 9     intent.setAction("com.great.activity_intent.Intent_Demo1_Result3");10     Bundle bundle = new Bundle();11     bundle.putString("id", strID);12     intent.putExtras(bundle);13     startActivity(intent);

AndroidManifest.xml

1    <activity android:name="Intent_Demo1_Result3"2                   android:label="Intent_Demo1_Result3">3             <intent-filter>4                 <action android:name="com.great.activity_intent.Intent_Demo1_Result3" />5                 <category android:name="android.intent.category.DEFAULT" />6             </intent-filter>7         </activity>

Category 类别

 1 //创建一个隐式的 Intent 对象:Category 类别 2 Intent intent = new Intent(); 3 intent.setAction("com.great.activity_intent.Intent_Demo1_Result33"); 4 /** 5  * 不指定 Category 或 只指定 AndroidManifest.xml 文件中 <intent-filter> 标签中配置的任意一个 Category 6  * <category android:name="android.intent.category.DEFAULT" /> 除外,就可以访问该 Activity, 7  */ 8 intent.addCategory(Intent.CATEGORY_INFO); 9 intent.addCategory(Intent.CATEGORY_DEFAULT);10 Bundle bundle = new Bundle();11 bundle.putString("id", strID);12 intent.putExtras(bundle);13 startActivity(intent);

AndroidManifest.xml

  <activity android:name="Intent_Demo1_Result2"                  android:label="Intent_Demo1_Result2">            <intent-filter>                                <category android:name="android.intent.category.INFO" />                <category android:name="android.intent.category.BROWSABLE" />                <category android:name="android.intent.category.DEFAULT" />                            </intent-filter>        </activity>

Date 数据 跳转

 1 //创建一个隐式的 Intent 对象,方法四:Date 数据 2 Intent intent = new Intent(); 3 Uri uri = Uri.parse("http://www.great.org:8080/folder/subfolder/etc/abc.pdf"); 4  5 //注:setData、setDataAndType、setType 这三种方法只能单独使用,不可共用                 6 //要么单独以 setData 方法设置 URI 7 //intent.setData(uri); 8 //要么单独以 setDataAndType 方法设置 URI 及 mime type 9 intent.setDataAndType(uri, "text/plain");10 //要么单独以 setDataAndType 方法设置 Type11 //intent.setType("text/plain");12 13 /**14  * 不指定 Category 或 只指定 AndroidManifest.xml 文件中 <intent-filter> 标签中配置的任意一个 Category15  * <category android:name="android.intent.category.DEFAULT" /> 除外,就可以访问该 Activity16  */17 Bundle bundle = new Bundle();18 bundle.putString("id", strID);19 intent.putExtras(bundle);20 startActivity(intent);

AndroidManifest.xml

 1         <activity android:name="Intent_Demo1_Result2" 2                   android:label="Intent_Demo1_Result2"> 3             <intent-filter> 4                 <category android:name="android.intent.category.DEFAULT" /> 5                 <data  6                     android:scheme="http" 7                     android:host="www.great.org" 8                     android:port="8080" 9                     android:pathPattern=".*pdf"10                     android:mimeType="text/plain"/>11             </intent-filter>12         </activity>13         

调用系统的的组件

    //web浏览器    Uri uri= Uri.parse("http://www.baidu.com:8080/image/a.jpg");    Intent intent = new Intent(Intent.ACTION_VIEW, uri);    startActivity(intent);        //地图(要在 Android 手机上才能测试)    Uri uri = Uri.parse("geo:38.899533,-77.036476");    Intent intent = new Intent(Intent.ACTION_VIEW, uri);    startActivity(intent);        //路径规划    Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=en");    Intent it = new Intent(Intent.ACTION_VIEW, uri);    startActivity(it);        //拨打电话-调用拨号程序    Uri uri = Uri.parse("tel:15980665805");    Intent intent = new Intent(Intent.ACTION_DIAL, uri);    startActivity(intent);        //拨打电话-直接拨打电话    //要使用这个必须在配置文件中加入<uses-permission android:name="android.permission.CALL_PHONE"/>    Uri uri = Uri.parse("tel:15980665805");    Intent intent = new Intent(Intent.ACTION_CALL, uri);    startActivity(intent);    //调用发送短信程序(方法一)    Uri uri = Uri.parse("smsto:15980665805");    Intent intent = new Intent(Intent.ACTION_SENDTO, uri);    intent.putExtra("sms_body", "The SMS text");    startActivity(intent);        //调用发送短信程序(方法二)    Intent intent = new Intent(Intent.ACTION_VIEW);         intent.putExtra("sms_body", "The SMS text");         intent.setType("vnd.android-dir/mms-sms");         startActivity(intent);        //发送彩信    Uri uri = Uri.parse("content://media/external/images/media/23");    Intent intent = new Intent(Intent.ACTION_SEND);    intent.putExtra("sms_body", "some text");    intent.putExtra(Intent.EXTRA_STREAM, uri);    intent.setType("image/png");    startActivity(intent);        //发送Email(方法一)(要在 Android 手机上才能测试)    Uri uri = Uri.parse("mailto:zhangsan@gmail.com");    Intent intent = new Intent(Intent.ACTION_SENDTO, uri);    startActivity(intent);        //发送Email(方法二)(要在 Android 手机上才能测试)    Intent intent = new Intent(Intent.ACTION_SENDTO);      intent.setData(Uri.parse("mailto:zhangsan@gmail.com"));      intent.putExtra(Intent.EXTRA_SUBJECT, "这是标题");      intent.putExtra(Intent.EXTRA_TEXT, "这是内容");      startActivity(intent);         //发送Email(方法三)(要在 Android 手机上才能测试)    Intent intent = new Intent(Intent.ACTION_SEND);    intent.putExtra(Intent.EXTRA_EMAIL, "me@abc.com");    intent.putExtra(Intent.EXTRA_SUBJECT, "这是标题");      intent.putExtra(Intent.EXTRA_TEXT, "这是内容");    intent.setType("text/plain");    //选择一个邮件客户端    startActivity(Intent.createChooser(intent, "Choose Email Client"));          //发送Email(方法四)(要在 Android 手机上才能测试)    Intent intent = new Intent(Intent.ACTION_SEND);    //收件人    String[] tos = {"to1@abc.com", "to2@abc.com"};    //抄送人    String[] ccs = {"cc1@abc.com", "cc2@abc.com"};    //密送人    String[] bcc = {"bcc1@abc.com", "bcc2@abc.com"};    intent.putExtra(Intent.EXTRA_EMAIL, tos);        intent.putExtra(Intent.EXTRA_CC, ccs);    intent.putExtra(Intent.EXTRA_BCC, bcc);    intent.putExtra(Intent.EXTRA_SUBJECT, "这是标题");     intent.putExtra(Intent.EXTRA_TEXT, "这是内容");        intent.setType("message/rfc822");        startActivity(Intent.createChooser(intent, "Choose Email Client"));        //发送Email且发送附件(要在 Android 手机上才能测试)    Intent intent = new Intent(Intent.ACTION_SEND);        intent.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");        intent.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/mp3/醉红颜.mp3");        intent.setType("audio/mp3");        startActivity(Intent.createChooser(intent, "Choose Email Client"));        //播放媒体文件(android 对中文名的文件支持不好)    Intent intent = new Intent(Intent.ACTION_VIEW);    //Uri uri = Uri.parse("file:///sdcard/zhy.mp3");    Uri uri = Uri.parse("file:///sdcard/a.mp3");     intent.setDataAndType(uri, "audio/mp3");     startActivity(intent);        Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");         Intent intent = new Intent(Intent.ACTION_VIEW, uri);         startActivity(intent);         //音乐选择器    //它使用了Intent.ACTION_GET_CONTENT 和 MIME 类型来查找支持 audio/* 的所有 Data Picker,允许用户选择其中之一    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);     intent.setType("audio/*");    //Intent.createChooser:应用选择器,这个方法创建一个 ACTION_CHOOSER Intent    startActivity(Intent.createChooser(intent, "选择音乐"));        Intent intent1 = new Intent(Intent.ACTION_GET_CONTENT);     intent1.setType("audio/*");        Intent intent2 = new Intent(Intent.ACTION_CHOOSER);    intent2.putExtra(Intent.EXTRA_INTENT, intent1);    intent2.putExtra(Intent.EXTRA_TITLE, "aaaa");    startActivity(intent2);        //                //设置壁纸//                Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER);  //                startActivity(Intent.createChooser(intent, "设置壁纸"));          //卸载APK    //fromParts方法    //参数1:URI 的 scheme    //参数2:包路径    //参数3:    Uri uri = Uri.fromParts("package", "com.great.activity_intent", null);        Intent intent = new Intent(Intent.ACTION_DELETE, uri);         startActivity(intent);        //安装APK(???)    Uri uri = Uri.fromParts("package", "com.great.activity_intent", null);      Intent intent = new Intent(Intent.ACTION_PACKAGE_ADDED, uri);    startActivity(intent);        //调用搜索    Intent intent = new Intent();      intent.setAction(Intent.ACTION_WEB_SEARCH);      intent.putExtra(SearchManager.QUERY, "android");      startActivity(intent);

更多相关文章

  1. Android(安卓)C++层打印调用栈
  2. Android(安卓)4.0 Launcher2源码分析——启动过程分析
  3. Android(安卓)SQLite操作类--封装
  4. Android(安卓)中数据库查询方法 query() 中的 selectionArgs 的
  5. android增加5G热点
  6. Android(安卓)Service详解(二)第一个Service
  7. android 开发中遇到的问题及解决方法
  8. 浅谈Java中Collections.sort对List排序的两种方法
  9. Python list sort方法的具体使用

随机推荐

  1. Android数字证书
  2. Android四大组件之Activity
  3. android 各版本发布时间
  4. Android日志工具
  5. Android(安卓)一些注意
  6. 避免在Android上冷启动
  7. 探索Android中的Parcel
  8. android 开发环境安装和测试中常出现的问
  9. Android读取JSON格式数据
  10. Android(安卓)Animation学习