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

用asp做宠物网站页面无锡网站建设方案优化

用asp做宠物网站页面,无锡网站建设方案优化,洛可可设计公司地址,网站恶意攻击目录 Intent对象简述Intent的作用Intent开启Activtiy显式启动Activity隐式启动Activity Intent对象简述 Android的应用程序包含三种重要组件:Activity、Service、BroadcastReceiver,应用程序采用了一致的方式来启动它们——都是依靠Intent来启动的&…

目录

  • Intent对象简述
  • Intent的作用
  • Intent开启Activtiy
    • 显式启动Activity
    • 隐式启动Activity

Intent对象简述

Android的应用程序包含三种重要组件:Activity、Service、BroadcastReceiver,应用程序采用了一致的方式来启动它们——都是依靠Intent来启动的,Intent就封装了程序想要启动的程序的意图。不仅如此Intent还可用于与被启动组件交换信息。
下图显示了使用Intent启动不同组件的方法

Intent的作用

Intent是一个可以消息传递对象,可以通过它来进行组件之间的信息传递。Intent主要有以下三个作用:

1开启一个activity

2 开启一个service

3 发送广播消息

Intent开启Activtiy

在操作activity的显式启动和隐式启动之前,我们还是需要先了解一下什么是activity的显示启动和隐式启动
显式启动:指明要启动的Activity所在的类,指的是它已经明确指定了将要启动的组件,故称作显式启动
隐式启动:系统根据Intent的动作和数据来决定启动那个Activity,指的是没有指定Component属性,没有明确指定要启动哪个组件,引用将会根据Intent指定的规则去启动符合条件的组件,但具体是哪个组件不确定
优点:只要知道被启动Activity的Action和Category即可,不用知道对应的类名或者是包名。
只要Activity有对应的action和Category都会被启动起来。然后提供给用户选择要启动哪一个。
需要被启动的Activity,需要在自己的AndroidManifest.xml定义对应的action 和 category。

显式启动Activity

显式启动Activity比较简单,先创建一个Intent,指定应用程序上下文和需要启动的Activity,然后调用startActivity来启动新的Activity

<!--AndroidManifest.xml-->
<activity android:name=".SecondActivity"></activity>
//启动Activity
Intent it = new Intent(this, SecondActivity.class);
startActivity(it);

通过类名类启动Activity, 一般是同一个APK里面使用

   private void startSecondActivityByClass() {XLog.i(TAG, "startSecondActivityByClass()");Intent intent = new Intent(FirstActivity.this, SecondActivity.class);try {startActivity(intent);} catch (Exception e) {XLog.i(TAG, "start activity error!");}}

通过包名加类名启动

           不足:被启动的应用的包名或者类名发生变化后,就会无法启动。private void startSecondActivityByPackageName() {XLog.i(TAG, "startSecondActivityByPackage()");Intent intent = new Intent();intent.setClassName(getPackageName(), getPackageName() + ".SecondActivity");try {startActivity(intent);} catch (Exception e) {XLog.i(TAG, "start activity error!");}}

通过ComponentName启动
不足:被启动的应用的包名或者类名发生变化后,就会无法启动。

  private void startSecondActivityByComponent() {XLog.i(TAG, "startSecondActivityByComponent()");Intent intent = new Intent();intent.setComponent(new ComponentName(getPackageName(), getPackageName() + ".SecondActivity"));try {startActivity(intent);} catch (Exception e) {XLog.i(TAG, "start activity error!");}}

隐式启动Activity

打开AndroidManifest.xml查看里面的代码,在学习隐式启动Activity前需要了解里的参数。

Activity的别名,可以修改自己Activity的名称
android.intent.action.MAIN决定应用程序最先启动的Activity

给Activity进行分组,可以自己添加一个组别
一种默认的category,在调用startActivity()方法的时候会自动将这个category添加到Intent中
如果自己定义的某个Activity要通过隐式启动,在AndroidManifast.xml必须加上android.intent.category.DEFAULT,否则不起作用

android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里
(想要App隐藏图标,去掉LAUNCHER,或者使用DEFAULT即可)
在这里插入图片描述

如果一个应用多个Activity都设置了这个参数,则程序列表里会显示多个该应用Activity的图标

1.通过Activity的别名隐式启动

<activity android:name=".SecondActivity"><intent-filter><!--取别名--><action android:name="com.example.test.ACTION_START"/><category android:name="android.intent.category.DEFAULT"/></intent-filter>
</activity>
//隐式启动系统Activity
//参数1:字符串(某Activity的别名)
Intent it = new Intent("com.example.test.ACTION_START");  
startActivity(it);

2.通过别名和自定义的种类隐式启动

<activity android:name=".SecondActivity"><intent-filter>        <action android:name="com.example.test.ACTION_START"/><category android:name="android.intent.category.DEFAULT"/><category android:name="com.example.test.MY_CATEGORY"/></intent-filter>
</activity>
Intent it = new Intent("com.example.test.ACTION_START");  
//添加自定义的种类
intent.addCategory("com.example.test.MY_CATEGORY");
startActivity(it);

3.根据用户的数据类型打开相应的Activity
Intent.ACTION_VIEW是Android系统内置的一个动作,通过URi.parse()方法解析后,再调用Intent.setData()方法讲这个Un对象传递进去

Intent it = new Intent("Intent.ACTION_VIEW");  
it.setData(Uri.parse("https://www.baidu.com"));
startActivity(it);//参数1:字符串(某Activity的别名)
//参数2:打开的路径,通过协议来具体的确定打开什么Activity
Intent it2 = new Intent("Intent.ACTION_VIEW", Uri.parse("https://www.baidu.com")); 
startActivity(it2);Intent it3 = new Intent("Intent.ACTION_DIAL", Uri.parse("tel:18812341234")); 
startActivity(it3);

4.响应用户指定的数据类型

<activity android:name=".SecondActivity"><intent-filter tools:ignore="AppLinkUrlError">        <action android:name="com.example.test.ACTION_START"/><category android:name="android.intent.category.DEFAULT"/><data android:scheme="https"></intent-filter>
</activity>

这样就可以通过Android:scheme指定了数据的协议必须的httos协议,这样此Activity就能和浏览器网页 一样,响应一个打开网页的Intent了。

http://www.hkea.cn/news/255328/

相关文章:

  • 制作公司网站价格腾讯广告代理商加盟
  • 大学生活动网站开发文案苏州seo门户网
  • 阿里云认证网站建设题库seo助理
  • 凤岗网站仿做靠谱seo外包定制
  • xampp安装wordpress说明徐州seo外包
  • 啥网站都能看的浏览器下载百度收录查询工具
  • 福田附近公司做网站建设哪家效益快奶糖 seo 博客
  • 临沂免费自助建站模板品牌整合营销
  • iis做本地视频网站找客户资源的网站
  • 做调查用哪个网站网络推广有多少种方法
  • 开发一个交易网站多少钱在线工具
  • 网站平台怎么建立的软文范例
  • 移动应用开发专业学什么东莞seo软件
  • 做宣传网站的公司手机百度极速版app下载安装
  • 私人可以做慈善网站吗外贸如何推广
  • 网站页面模板页面布局如何成为百度广告代理商
  • 瑞安外贸网站建设曲靖百度推广
  • 先做网站还是服务器销售营销方案100例
  • 用卫生纸做的礼物街网站免费网页空间到哪申请
  • 手游网站做cpc还是cpm广告号厦门网页搜索排名提升
  • 人个做外贸用什么网站好宁波百度seo点击软件
  • 诈骗网站怎么做的企业网站seo案例分析
  • 如何做网站接口湖南营销型网站建设
  • 进入兔展网站做PPt软文营销ppt
  • app网站新闻危机公关
  • 东莞关键词优化实力乐云seo南宁seo外包服务商
  • 做网站都是用源码么免费注册个人网站不花钱
  • 建设网站需要两种服务支持官网设计公司
  • 安庆做网站seo建站收费地震
  • 绵阳住房和城市建设局网站官网seo排名优化联系13火星软件