android action和category的区别

android action和category的区别,第1张

category的作用:提供将要执行的action的额外信息,一般在隐式地启动activity时需要用到。常见的category如下:

[html] view plaincopyprint?

CATEGORY_ALTERNATIVE

设置这个activity是否可以被认为是用户正在浏览的数据的一个可选择的action

CATEGORY_APP_BROWSER

和ACTION_MAIN一起使用,用来启动浏览器应用程序

CATEGORY_APP_CALCULATOR

和ACTION_MAIN一起使用,用来启动计算器应用程序

CATEGORY_APP_CALENDAR

和ACTION_MAIN一起使用,用来启动日历应用程序

CATEGORY_APP_CONTACTS

和ACTION_MAIN一起使用,用来启动联系人应用程序

CATEGORY_APP_EMAIL

和ACTION_MAIN一起使用,用来启动邮件应用程序

CATEGORY_APP_GALLERY

和ACTION_MAIN一起使用,用来启动图库应用程序

CATEGORY_APP_MAPS

和ACTION_MAIN一起使用,用来启动地图应用程序

CATEGORY_APP_MARKET

这个activity允许用户浏览和下载新的应用程序

CATEGORY_APP_MESSAGING

和ACTION_MAIN一起使用,用来启动短信应用程序

CATEGORY_APP_MUSIC

和ACTION_MAIN一起使用,用来启动音乐应用程序

CATEGORY_BROWSABLE

能够被浏览器安全调用的activity必须支持这个category

CATEGORY_DEFAULT

设置这个activity对于默认的action是否是一个可选的

CATEGORY_EMBED

可以运行在父activity容器内

CATEGORY_HOME

主activity,当应用程序启动时,它是第一个显示的activity

CATEGORY_LAUNCHER

应该在上层的启动列表里显示

CATEGORY_MONKEY

这个activity可能被monkey或者其他的自动测试工具执行

CATEGORY_OPENABLE

用来指示一个GET_CONTENT意图只希望ContentResolver.openInputStream能够打开URI

CATEGORY_PREFERENCE

这个activity是一个选项卡

CATEGORY_SAMPLE_CODE

作为一个简单的代码示例使用(一般情况下不使用)

CATEGORY_SELECTED_ALTERNATIVE

设置这个activity是否可以被认为是用户当前选择的数据的一个可选择的action

CATEGORY_TAB

想要在已有的TabActivity内部作为一个Tab使用

CATEGORY_TEST

供测试使用(一般情况不使用)

CATEGORY_UNIT_TEST

联合测试使用

我们可以用iis来搭建个人服务器

应该重新安装系统,目的是避免软件的冲突,下面以vista为例,xp差不多

当然你也可以跳过上面这个步骤

然后打开控制面板,选择程序和功能,选择打开或关闭WINDOWS功能,将internet信息服务全选,注意一定要逐个打开勾选.然后确定安装.完了以后再打开控制面板,选择管理工具,选择internet信息服务管理,选择ASP图标,在行为一栏里的父路径选择true.

一般来说服务器是默认启动的,我们可以看右侧栏的服务器管理看启动图标如果变成灰色就是启动了.

到现在我们已经成功的搭建了网站服务器,那要让别人怎么才能访问到你的网站呢?

首先确保你能宽带上网,然后尽量采用直接ADSL拨号上网,内网的话会很麻烦,一般的路由端口映射不完善.

然后确认防火墙的HTTP服务已经打开,也就是把80端口打开.

因为我们拨号的ip地址是个动态的所以还得去花生壳网站注册一个动态域名,再下载花生壳软件,运行后输入你的护照号码,现在只要输入你申请的动态域名,就可以外网访问到你的计算机了.

网页存放的默认地址是C:\inetpub\wwwroot你可以改变路径,在vista 下你一定要赋予文件夹一定的权限。

好了现在你就有自己的网站了,但是虽然免费但是你要考虑你24小时开机你的电费哦。

注明:此服务器可以支持ASP,html等网页暂不能支持PHP网页,还需要比较复杂的设置。

从一个Activity(界面)跳转到另一个Activity时,需要使用到Intent来启动Activity。

Intent在android中的定义为:public Intent (Context packageContext , Class<?>cls)

在Intent使用时,分为显式调用和隐式调用:

显式调用---直接调用Activity的Class类

例,Activity1调用Activity2

Intent intent = new Intent(this , Activity2.class)

startActivity(intent)

隐式调用---通过调用另一个Activity的action 来启动另一个Activity

Activity1隐式调用Activity2时需要在AndroidManifest.xml文件中配置Activity2的action和category,具体添加下面的代码到Activity2的定义中

<intent-filter>

<action android:name="myaction2"/>

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

<category android:name="mycategory" />

</intent-filter>

接着同样用intent来启动Activity,代码如下:

Intent intent = new Intent("myaction2")

startActivity(intent)

这样就可以启动Activity2

注:intent隐式调用Activity时会遇到多个Activity的intent-filter中的action和category相同时,android会先d一个选择界面的窗口,显式要启动的Activity列表,根据用户选择来启动Activity,如Activity2和Activity3的action和category相同

<Activity android:name=".Activity2">

<intent-filter>

<action android:name="myaction2"/>

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

<category android:name="myCategory" />

</intent-filter>

</Activity>

<Activity android:name=".Activity3">

<intent-filter>

<action android:name="myaction2"/>

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

<category android:name="myCategory" />

</intent-filter>

</Activity>

启动Activity代码如下:

Intent intent = new("action2")

intent.addCategory("myCategory")

startActivity(intent)

这时就会d出Acvity的选择窗口,选择启动activity2还是activity3


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11255835.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存