• 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(),否则程序也会出现异常。

  • 相关阅读:
    代码动态设置edittext输入类型为密码类型
    java android使用Gson解析泛型json数据
    你必须要懂的APK瘦身知识
    记录一下寄几个儿的greendao数据库升级,可以说是非常菜鸡了嗯
    (通用)Android App代码混淆终极解决方案【转】
    android设置GridView高度自适应,实现全屏铺满效果
    XML解析——Java中XML的四种解析方式
    The SDK platform-tools version ((23)) is too old to check APIs compiled with API 26;
    通过URI返回File文件
    傻瓜式禅道配置
  • 原文地址:https://www.cnblogs.com/bokeofzp/p/4720146.html
Copyright © 2020-2023  润新知