• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Android 之 Intent(意图),androidintent意图

Android 之 Intent(意图),androidintent意图

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android中intent传值,android中intent,android隐式intent,android intent,android intent传值等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Android 之 Intent(意图),androidintent意图


   Intent是 Android中重要的桥梁之一,它分为显式意图和隐式意图。接下来分别针对这两种意图进行讲解。

  • 显式意图:通过指定一组数据或动作,激活应用内部的 activity;(相比隐式意图,此做法更安全)
Intent intent = new Intent();  
intent.setClass(MainActivity.this,Main2Activity.class); //第一个参数指的就是要跳转的那个Activity;第二个指的是跳到的那个Activity  
startActivity(intent); //如果没有回调的时候直接这样就OK  
或者
Intent intent = new Intent();  
intent.setClassName("com.sd.study.test_01","com.sd.study.test_02"); //第一个参数指的就是要跳转的那个Activity的包名;第二个指的是跳到的那个Activity的包名 
startActivity(intent);
或者
Intent intent = new Intent(this,Main2Activity.class);//第一个参数指的就是要跳转的那个Activity;第二个指的是跳到的那个Activity    
startActivity(intent);

  

  • 隐式意图:通过指定具体的包名和类名,打开另一个程序的 Activity。
//实现跳转的功能
Intent intent = new Intent();
//设置跳转的动作
intent.setAction(" 清单文件中目标activity的name ");
//设置 category
intent.addCategory(" 清单文件中目标activity的category ");
//开启 Activity (如果需要加权限记得加上)
startActivity(intent);
  
  
//实现拨打电话的功能
Intent intent = new Intent();
//设置拨打的动作
intent.setAction(" 清单文件中目标activity的name");
//设置拨打的数据
intent.setData(Uri.parse("tel:"+119));
//开启 Activity (如果需要加权限记得加上)
startActivity(intent);

  

//清单文件
<application
    android:name=".MyApp"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".Main2Activity"> // " 清单文件中目标activity的name "
                                             // " 清单文件中目标activity的category "
    </activity>
</application>

  • Android数据传递与回传
//第一个Activity
public class MainActivity extends Activity {  
private Button btn ;  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
        btn = (Button)findViewById(R.id.button);
        //设置单击事件
        btn.setOnClickListener(new OnClickListener() {  
            @Override  
            public void onClick(View v) {  
                Intent intent = new Intent();    
                intent.setClass(mainActivity.this,main2Activity.class); //第一个参数指的就是要跳转的那个Activity;第二个指的是跳到的那个Activity 
                intent.putExtra("str1", "hello world");  
                intent.putExtra("str2", "你好,世界");  
                //如果没有回调也不用重写这个方法
                startActivityForResult(intent, 1);  
            }  
        });  
    }
}


//第二个Activity
public class Main2Activity extends Activity {  
    protected void onCreate(Bundle savedInstanceState) {  
         super.onCreate(savedInstanceState);  
         setContentView(R.layout.activity_main);  
         btn = (Button)findViewById(R.id.button);  
         Intent intent = this.getIntent();  
         Bundle bundle = intent.getExtras();
         //根据"键值对"取值
         String str1 = bundle.getString("str1");  
         String str2 = bundle.getString("str2"); 
         //按钮的点击事件
         btn.setOnClickListener(new OnClickListener() {  
             @Override  
             public void onClick(View v) {  
                 Intent intent = new Intent();  
                 intent.putExtra("str3", "Back Data");  
                 setResult(0, intent); //设置返回值 
                 finish(); //调用这个方法,此Activity关闭,并把它从栈中移除。然后进入到前一个Activity  
            }  
        });  
    } 
} 
    • 数据传递
      • putExtra(); //可以传递8种基本数据类型;
      • Bundle(); //可以传递8种基本数据类型;
    • 回传数据  
      • a. 调用者Activity开启新的界面选用  startActivityForResult();
startActivityForResult(intent, 1); //如果没有回调则不用重写这个方法
      • b. 在新开启的Activity中设置返回值    
Intent intent = new Intent();
intent.putExtras();
setResult();//设置返回值
      • c. 操作关闭  finish();    
      • d. 在调用者Activity 中调用onActivityResult(); 方法    
   

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android 之 Intent(意图),androidintent意图
  • Android--用intent打开各种文件

相关文章

  • 2017-05-26Android应用:横竖屏切换总结,android切换总结
  • 2017-05-26Android Studio 1.5.1 JNI 编程
  • 2017-05-26Android--使用XMLPull解析xml
  • 2017-05-26eclipse安装genymotion插件。,eclipsegenymotion
  • 2017-05-26android布局带参返回,android布局
  • 2017-05-26XAMARIN.ANDROID SIGNALR 实时消息接收发送示例,xamarinsignalr
  • 2017-05-26WebView,androidwebview
  • 2017-05-26深入了解android中的消息机制Handler
  • 2017-05-26Android SharedPreferences存储,sharedpreferences
  • 2017-05-26Android Studio 无法启动模拟器的一种可能是你装的是Ghost版的系统,androidstudio

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android音频开发之基础知识介绍
    • 硅谷新闻1--引导界面GuideActivity,1--guideactivity
    • 硅谷新闻5--顶部新闻轮播图事件处理,硅谷5--
    • android.invalidate(),android.invalidate
    • 文件缓存(配合JSON数组),缓存配合json数组
    • [android] 手机卫士保存安全号码,android卫士
    • Android 动画资源 详解
    • 安卓高级组件-----图像切换器,安卓-----切换器
    • 手游助手应用源码项目,游助手源码项目
    • LinearLayout嵌套,linearlayout

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有