Android ApiDemos示例解析(24):App->Launcher Shortcuts

  次阅读 作者:智能小宝 来源:互联网 2016-01-06 19:27 我要评论(0)

Android 操作系统对于<intent-filter>含有下列属性的Activity会在应用程序管理器(Launcher)显示一项,一般这个Activity对应于某个应用的主Activity。

<action android:name=”android.intent.action.MAIN” />

<category android:name=”android.intent.category.LAUNCHER” />

此外,如果用户想在设备的Home Screen上添加应用的快捷方式,可以在Launcher中长按这个应用的图标,Android系统会自动为该应用在Home Screen上添加一个快捷方式,名称和图标和在Launcher中的一样。

除了支持指向应用(主Activity)的快捷方式外,Android可以在Home Screen上定义指向Application中任意Activity的快捷方式。

比如说你的应用中有个功能用户可能会经常使用,比如说地图中查询地址,正常情况下用户需要先启动主Activity,可能需要经过几次菜单选择或是其它方式才能进到这个功能,用户可能感觉到不方便,这是可以为这个功能在Home Screen建立一个快捷方式,用户按这个快捷方式后会直接进入这个功能界面,即使这个Activity不是主Activity。

Launcher Shortcuts就是介绍了如何为某个非主Activity在Home Screen上建立一个快捷方式。

实现这个快捷方式,可以分下面几步来完成:

1.为需要创建快捷方式的Activity的<intent-filter>添加<action android:name=”android.intent.action.CREATE_SHORTCUT” /> ,标识这个Activity可以支持在Home Screen上添加快捷方式。Launcher Shortcuts 是采用的是activity-alias,activity-alias为Target的别名,类似于Activity.

2.添加相应用户添加快捷方式的代码,一般在Activity的onCreate方法中为Activity安装快捷方式:

[java]

1. if (Intent.ACTION_CREATE_SHORTCUT.equals(action))

2. {

3.setupShortcut();

4.finish();

5.return;

6. }

7.

8. ...

9. private void setupShortcut() {

10.// First, set up the shortcut intent.

11.//For this example, we simply create an intent that

12.// will bring us directly back to this activity.

13.//A more typical implementation would use a

14.// data Uri in order to display a more specific result,

15.//or a custom action in order to

16.// launch a specific operation.

17.

18.Intent shortcutIntent = new Intent(Intent.ACTION_MAIN);

19.shortcutIntent.setClassName(this, this.getClass().getName());

20.shortcutIntent.putExtra(EXTRA_KEY, "ApiDemos Provided This Shortcut");

21.

22.// Then, set up the container intent (the response to the caller)

23.

24.Intent intent = new Intent();

25.intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);

26.intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.shortcut_name));

27.Parcelable iconResource = Intent.ShortcutIconResource.fromContext(

28.this,R.drawable.app_sample_code);

29.intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconResource);

30.

31.// Now, return the result to the launcher

32.

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...