Shr*_*ers 5 android android-manifest
我正在阅读Wei-Mung Lee开始的Android应用程序开发.我对自定义操作和类别感到困惑.
这是一个例子中的一些代码.该操作是包名称.它再次被提到的唯一一次就是
Intent i = new Intent( "net.learn2develop.MyBrowser" );
Run Code Online (Sandbox Code Playgroud)
开始一项活动.这个基本上是包名的动作怎么能知道开始活动呢?只是因为它在活动标签内?
与category标签相同的事情(不同的例子):
<intent-filter>
<action android:name=”android.intent.action.VIEW” />
<action android:name=”net.learn2develop.MyBrowser” />
<category android:name=”android.intent.category.DEFAULT” />
<category android:name=”net.learn2develop.Apps” />
<data android:scheme=”http” />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
net.learn2develop.Apps是由作者组成的名称.它真的没有意义,对吗?它有什么用途?
这个基本上是包名的动作怎么能知道开始活动呢?
因为<intent-filter>广告宣传它可以通过该动作字符串启动.顺便说一句,仅仅因为它被写成包名并不意味着它必须是包名(例如,android.intent.action.VIEW不是包).程序包命名约定是为了防止与其他已安装的应用程序意外冲突.
它真的没有意义,对吗?
嗯,它可能对作者意味着什么,虽然我无法告诉你究竟是什么.
它有什么用途?
在正常的Android开发中,您不会创建自定义类别.我不记得曾见过一个人,而且我已经做了很长一段时间的Android开发.
类别通常用于区分不同的用例.比如,也许是第二个最流行的类别之外DEFAULT的BROWSABLE.支持该类别中的VIEW操作的活动有BROWSABLE资格从Web浏览器中的链接使用.因此,如果我有一个VIEW/ BROWSABLE和MIME类型的活动application/pdf,并且用户在浏览器中点击了指向PDF文件的链接,我可以选择查看PDF.但是,如果我缺少BROWSABLE一个类别,那么我就没有资格获得该链接.通常,活动只会BROWSABLE在它可以检索HTTP URL时进行通告.
不过,我无法想到我会使用自定义类别的场景.
| 归档时间: |
|
| 查看次数: |
2838 次 |
| 最近记录: |