当前位置: 首页 > news >正文

网站关键词 公司职高动漫设计毕业后干什么

网站关键词 公司,职高动漫设计毕业后干什么,网络营销推广技术分析,地方门户网站的分类概述 在Android中,Intent是各个组件之间信息通信的桥梁,它用于Android各组件的通信。 Intent 的组成部分 一、显式 Intent 第一种方式 Intent intent new Intent(this, ActFinishActivity.class);startActivity(intent);第二种方式 Intent intent …

概述

在Android中,Intent是各个组件之间信息通信的桥梁,它用于Android各组件的通信。

Intent 的组成部分
在这里插入图片描述

一、显式 Intent

第一种方式

	Intent intent = new Intent(this, ActFinishActivity.class);startActivity(intent);

第二种方式

    Intent intent = new Intent();intent.setClass(this, ActFinishActivity.class);startActivity(intent);

第三种方式

    Intent intent = new Intent();ComponentName componentName = new ComponentName(this, ActFinishActivity.class);intent.setComponent(componentName);startActivity(intent);

可以看出第一、二种比较简单且相似,但是这两种方式都需要获取到要跳转的类。如果要跳到其他应用就不行了,用 ComponentName 这种方式可以解决,如下:

    ComponentName componentName = new ComponentName("com.example.study_android", "com.example.study_android.ActFinishActivity");

二、隐式 Intent

隐式 Intent 没有明确指定要跳转的目标活动,只给出一个动作字符串让系统自动匹配,属于模糊匹配。

  • 常见系统动作的取值说明
    在这里插入图片描述
    动作名既可以通过 setAction 方法指定,也可以通过构造函数 Intent(String action) 直接生成意图对象。
  • 跳转到拨号系统应用
    private void handleNavHidden() {String phoneNo = "12345";Intent intent = new Intent();intent.setAction(Intent.ACTION_DIAL);Uri uri = Uri.parse("tel:" + phoneNo);intent.setData(uri);startActivity(intent);}
  • 跳转到另一个APP
    private void handleNavMy() {Intent intent = new Intent();intent.setAction("android.intent.action.MYAPP");intent.addCategory(Intent.CATEGORY_DEFAULT);startActivity(intent);}

在另一个APP的主Activity中添加以下代码:

   <intent-filter><action android:name="android.intent.action.MYAPP"/><category android:name="android.intent.category.DEFAULT" /></intent-filter>

三、向下一个Activity发送数据

  • Intent 使用 Bundle 对象存放待传递的数据信息。
  • Bundle 对象操作各类型数据的读写方法说明见下表:
    在这里插入图片描述
    通过 Bundle 传递
    private void handleNextData() {Intent intent = new Intent(this, ActFinishActivity.class);Bundle bundle = new Bundle();long currentTimeMillis = System.currentTimeMillis();bundle.putString("request_time", Long.toString(currentTimeMillis));bundle.putString("request_content", "hello,world");intent.putExtras(bundle);startActivity(intent);}

在跳转后的页面中接收 Bundle

    @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_act_finish);tv_desc=findViewById(R.id.tv_desc);Bundle bundle = getIntent().getExtras();String request_time = bundle.getString("request_time");String request_content = bundle.getString("request_content");String desc = String.format("消息是:%s,\n时间是:%s", request_content, request_time);tv_desc.setText(desc);}

也可以不通过Bundle,直接传单个数据

 	intent.putExtra("name","张三");

接收单个数据

	String name = getIntent().getStringExtra("name");

四、向上一个Activity发送数据

步骤:

  • 当前页面通过 registerForActivityResult 注册回调
    private ActivityResultLauncher<Intent> register;
        register = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> {if (result != null) {Intent intent = result.getData();if (intent != null && result.getResultCode() == Activity.RESULT_OK) {Bundle bundle = intent.getExtras();String response_time = bundle.getString("response_time");String response_content = bundle.getString("response_content");String desc = String.format("返回的消息是:%s\n,时间:%s", response_content, response_time);tv_res.setText(desc);}}});
  • 当前页面通过 register.launch 发起跳转
    private void handleDataRes() {Intent intent = new Intent(this, ActFinishActivity.class);Bundle bundle = new Bundle();long currentTimeMillis = System.currentTimeMillis();bundle.putString("request_time", Long.toString(currentTimeMillis));bundle.putString("request_content", "hello,world");bundle.putString("name", "张三");intent.putExtras(bundle);register.launch(intent);}
  • 在下个页面调用 setResult 设置数据,并通过 finish结束页面
    public void onClick(View view) {Intent intent = new Intent();Bundle bundle = new Bundle();long currentTimeMillis = System.currentTimeMillis();bundle.putString("response_time", Long.toString(currentTimeMillis));bundle.putString("response_content", "你好啊");intent.putExtras(bundle);// 携带意图返回上一个页面,RESULT_OK 表示处理成功setResult(Activity.RESULT_OK, intent);// 结束当前活动页finish();}

案例代码

http://www.yayakq.cn/news/255960/

相关文章:

  • 做网站应该先从什么地方开始哪个网站有免费ppt下载
  • 企业网站推广方案设计毕业设计微信小程序模板网站
  • 如何做好网站的优化管理企业
  • 赣州市建设局建管科网站网站关闭公告代码
  • 百度云服务器搭建网站步骤商务网站建设实验书
  • 禅城网站建设代理谷歌seo顾问
  • 网站开发工具有asp怎样制作网站后台
  • 贵安新区建设管理信息网站python做网站入门
  • 国家示范建设成果网站网站内链规划
  • 违禁网站用什么浏览器开发公司网签物料
  • 花都 网站建设汕头高端网站建设方法
  • 微信建立免费网站吗东莞招聘网哪个平台比较好
  • 域名转出过程网站能打开吗合肥优化营商环境
  • 建设网站细节德网站建设
  • 做维修广告效最好是哪个网站吗网站重新设计需要多久
  • 网站设计作用重庆网站建设公司销售
  • 沈阳网站app制作海外社交媒体营销
  • 网站开发任务完成情况南宁站建站时间
  • 有做公司网站扬州网页制作公司
  • 网站名称有哪些乐清本地生活服务平台
  • 老网站权重低的原因网站flash导入页
  • 做网站的公司一年能赚多少钱saas平台是什么意思
  • 自学网站建设好学吗正邦网站建设 优帮云
  • 惠城网站建设温州建网站
  • 哪个网站建站好500平台南京广告公司装修
  • 公司营业执照可以做几个网站惠州建网站
  • 销售网站排名可以用自己电脑做网站服务器吗
  • 郑州网站设计的公司哪个网站可以做拼图
  • 网站视频插件七星彩网投网站建设
  • 建设一个外贸网站多少钱呢网易搜索引擎入口