• Intent 跳转 Activity 用法


     1 一、不同应用中的 Activity 传递
     2         Intent tIntent=new Intent();
     3         ComponentName tComponentName=new ComponentName("com.oradt.ecard.globalsearch", "com.oradt.ecard.globalsearch.GlobalActivity");
     4         tIntent.setComponent(tComponentName);
     5         tIntent.setAction("android.intent.action.MAIN");
     6         tIntent.putExtra("id", mTimeRing.getId());
     7         mContext.startActivity(tIntent);
     8  1.注解:
     9 
    10 1.com.oradt.ecard.globalsearch 是要跳转应用的包名,即 AndroidManifest.xml 中的 package
    11 
    12     <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    13             package="com.oradt.ecard.globalsearch"
    14 
    15 2.com.oradt.ecard.globalsearch.GlobalActivity 是要跳转的 Activity 名+全包名
    16         <activity
    17             android:name=".GlobalActivity"
    18             android:label="@string/app_name" >
    19             <intent-filter>
    20                 <action android:name="android.intent.action.MAIN" />
    21 
    22                 <category android:name="android.intent.category.LAUNCHER" />
    23             </intent-filter>
    24           </activity>
    25 就是 android:name 中注册的名字
    26 
    27  2.在第 2 个 Activity 中接收数据与平时的一样
    28         Intent tIntent = getIntent();
    29         int id = tIntent.getIntExtra("id", -1);
    30 
    31         if (id > -1) {
    32 
    33             TextView tId = (TextView) this.findViewById(R.id.tvId);
    34             tId.setText(""+id);
    35         }
    36 
    37  3.如果第 2 个 Activity 不是主 Activity,需要设置<intent-filter>
    38         <activity android:name="com.oradt.ecard.globalsearch.ContnActivity" >
    39             <intent-filter>
    40                 <action android:name="com.oradt.action.PLAYER" />
    41 
    42                 <category android:name="android.intent.category.DEFAULT" />
    43             </intent-filter>
    44         </activity>
    45 
    46 其中 android.intent.category.DEFAULT 不是必须的(亲自实验),但 com.oradt.action.PLAYER 是必须的。并且他与 tIntent.setAction("android.intent.action.MAIN");中的内容是对应的。
    47         Intent tIntent = new Intent();
    48         ComponentName tComponentName=new ComponentName("com.oradt.ecard.globalsearch", "com.oradt.ecard.globalsearch.ContnActivity");
    49         tIntent.setComponent(tComponentName);
    50         tIntent.setAction("com.oradt.action.PLAYER");
    51         mContext.startActivity(tIntent);
    52 
    53 经实验,tIntent.setAction("com.oradt.action.PLAYER"); 可不加,但<action android:name="com.oradt.action.PLAYER" /> 必须要有。
  • 相关阅读:
    推荐一本SQL经典书籍
    准备升级包包版游戏大厅
    《博客园精华集软件工程分册》第三轮筛选结果
    (翻译)《Expert .NET 2.0 IL Assembler》 第八章 基本类型和签名(一)
    如何输入人名间的顿号
    推荐一个下名人传记电子书的好地方
    asp.net 2.0 中使用web.config存储数据库连接字符串
    Asp.Net小技巧之在client端调用server端事件:
    C#编码好习惯
    把ip转换成对应的城市名
  • 原文地址:https://www.cnblogs.com/zx-blog/p/11835869.html
Copyright © 2020-2023  润新知