zoukankan      html  css  js  c++  java
  • android学习之intent学习笔记

    1 以代码介绍一下激活意图的方法:

    //显示激活意图
    	//方法1
    //	Intent intent=new Intent();
    //	intent.setClassName("com.example.multiactivity", "com.example.multiactivity.SecondActivity");
    //	startActivity(intent);
    	
    	//方法2
    //	Intent intent=new Intent(this, SecondActivity.class);
    //	startActivity(intent);
    	
    //	//方法3
    //	Intent intent=new Intent();
    //	ComponentName component2=new ComponentName(this, com.example.multiactivity.SecondActivity.class);
    //	ComponentName component=new ComponentName("com.example.multiactivity", "com.example.multiactivity.SecondActivity");//("com.example.multiactivity", SecondActivity.class);
    //	intent.setComponent(component2);//component1/2都可以
    //	startActivity(intent);
    	
    //	隐式激活意图
    //	Intent intent=new Intent();
    //	intent.setAction("com.example.multiactivity.SecondActivity3");
    //	intent.addCategory("android.intent.category.DEFAULT");  //解释件xml文件
    //	startActivity(intent);
    	
    	//隐式意图激活系统自带功能
      Intent intent=new Intent();
      intent.setAction(Intent.ACTION_CALL);
      intent.setData(Uri.parse("tel:"+"15607209140")); 
      startActivity(intent);
    

      

      

    2除了激活系统自带意图外,用户自定义的意图需要在清单文件里定义:

     <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name="com.example.multiactivity.MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            
            
            <activity
                android:name=".SecondActivity"                       
                android:label="secondactivity" >                          
                 <intent-filter>
                    <action android:name="com.example.multiactivity.SecondActivity" />
                    <action android:name="com.example.multiactivity.SecondActivity2" />                                    
                    <action android:name="com.example.multiactivity.SecondActivity3" />      
                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
                
            </activity>
            
        </application>
    

     红色部分是自定义的activity

     1这里是自己定义的activity,name标签是activity的名字,"."代表的是包名,后面接类名,如果name前加上包名程序会出异常,而自动生成的上面的activity加上包名没出现异常,可能是约定俗成的。

     2隐式激活时候,action的名字可以多个,任意匹配一个都可以,但是必须注册category标签内容,在程序中采用intent.addcategory(),否则程序也会出现异常。

  • 相关阅读:
    Eclipse 3.7(代号Indigo) 中文字体太小解决办法(转)
    tomcat配置及使用 环境变量设置
    Eclipse启动的时候窗口一闪就关的解决办法(转)
    Jquery datatables 重载数据方法
    手把手教你从 Core Data 迁移到 Realm
    App 启动加载广告页面思路
    iOS 类似美团外卖 app 两个 tableView 联动效果实现
    从 ReactiveCocoa 中能学到什么?不用此库也能学以致用
    几句话实现导航栏透明渐变 – iOS
    谈谈iOS中粘性动画以及果冻效果的实现
  • 原文地址:https://www.cnblogs.com/bokeofzp/p/4720146.html
Copyright © 2011-2022 走看看