zoukankan      html  css  js  c++  java
  • android intent隐式调用之一个应用程序启动另一个应用程序(转载)

    理解Intent的关键之一是理解清楚Intent的两种基本用法:一种是显式的Intent,即在构造Intent对象时就指定接收者,这种方式与普通的函数调用类似;另一种是隐式的Intent,即Intent的发送者在构造Intent对象时,并不知道也不关心接收者是谁,这种方式与函数调用差别比较大,有利于降低发送者和接收者之间的耦合。另外Intent除了发送外,还可用于广播.

    显示调用 1.Intent intent = new Intent(); intent.setClass(A.this,B.class); //intent.setClassName("com.view","com.view.B");前者是A的包名,后者是B的代包类名

    startActivity(Intent);

    隐式调用:private static String MY_ACTION = "com.view.my_action";

                  Intent intent = new Intent();  intent.setAction(MY_ACTION);

                   或者// Intent intent = new Intent(MY_ACTION);

                    startActivity(Intent);

    隐式调用注意不只是在AndroidManifest.xml文件中声明,还要加上intent-filter

    在B类的activity中加上:

    <intent-filter>

        <action android:name="com.view.my_action"/>  <!-- 自定义 -->

    </intent-filter>

    加上这句话就可以跳转到B类了

    如果是想启动另外一个应用程序,如B类是在另外一个应用程序的入口,在其activity中再另外加上一个intent-filter

    <activity android:name=".B" android:label="@string/app_name">

    <intent-filter>

    <action android:name="android.intent.action.MAIN" />

    <category android:name="android.intent.category.LAUNCHER" />

    </intent-filter>

    <intent-filter>

    <action android:name="com.view.my_action"/>

                                    <action android:name="android.intent.action.DEFAULT" />

    <category android:name="android.intent.category.DEFAULT" />

    </intent-filter>

    </activity>

  • 相关阅读:
    spring:事务的5大隔离级别,7大传播行为
    spring事务管理(xml配置)与spring自带连接数据库JdbcTemplate
    spring顾问包装通知
    Spring常见的两种增强方式
    Spring-增强方式注解实现方式
    Spring----aop(面向切面编程)
    Spring_IOC
    服务器项目代码在本地打断点调试
    FreeMarker标签出错问题
    Eclipse启动项目没加载到webapps目录下
  • 原文地址:https://www.cnblogs.com/airry66/p/3966598.html
Copyright © 2011-2022 走看看