- 浏览: 3459939 次
- 性别:
- 来自: China
文章分类
- 全部博客 (536)
- ajax (1)
- Algorithm (14)
- Android (40)
- CSS/HTML... (2)
- defy (3)
- DesignPattern (2)
- dorado (0)
- Drools (6)
- English/日本語 (7)
- Flex (2)
- Framework (0)
- Google (3)
- hibernate (13)
- homework (3)
- HTML5 (0)
- IDE (29)
- java (45)
- javaee (7)
- Javascript (14)
- java组件 (5)
- jQuery (4)
- jsp (8)
- jsf (2)
- Linux (2)
- lucene (0)
- mysql (6)
- news (3)
- Oracle (8)
- other (4)
- PHP (5)
- Python (0)
- Software Engineering (3)
- spring (7)
- struts1.x (14)
- struts2.x (14)
- strolling in cloud (1)
- subject:javaEnhance (20)
- Tomcat (7)
- validator (3)
- 学习·方法·心得 (8)
- .NET (2)
- vba (6)
- groovy (5)
- grails (2)
- SWT (0)
- big data (1)
- perl (1)
- objective-c (50)
- product (1)
- mac (7)
- ios (188)
- ios-phone (2)
- ios-system (15)
- ios-network (5)
- ios-file (4)
- ios-db (1)
- ios-media (3)
- ios-ui (27)
- ios-openSource (6)
- ios-animation (5)
- ios-drawing (7)
- c (2)
- ios-app (2)
- ios-course (15)
- ios-runtime (14)
- ios-code (8)
- ios-thread (8)
- ios-LBS (2)
- ios-issue (1)
- ios-design (2)
- Jailbreak (2)
- cocos2d (0)
- swift (16)
- ios-framework (4)
- apple watch (4)
- ios-web (1)
- react native (3)
- TVOS (1)
- OpenGL (1)
最新评论
-
xiaobinggg:
...
Session机制详解 -
菜鸟学生会:
Drools规则工作流引擎开发教程网盘地址:http://pa ...
Drools入门-----------环境搭建,分析Helloworld -
wangyudong:
不是很好用,不支持自动化测试RESTful API,也不支持自 ...
Simple REST Client POST使用方法 -
Paul0523:
很棒的一篇文章,感谢楼主分享
Session机制详解 -
啸笑天:
获取原型对象的三种方法<script>functi ...
复习JavaScript面向对象技术
、在桌面创建快捷方式方法:
方法一:通过长按某一个应用程序的图标在桌面上创建启动该应用程序的快捷方式。
这个方法安装完程序都用户都能实现。
方法二:在应用程序中构建一个Intent,然后以Broadcast的形式通知Launcher创建快捷方式。
先看Launcher的AndroidMainfest.xml文件中InstallShortcutReceiver的注册信息:
<!--设置wallpapaer的activity --> <!-- Intent received used to install shortcuts from other applications --> <receiver android:name="com.android.launcher2.InstallShortcutReceiver" android:permission="com.android.launcher.permission.INSTALL_SHORTCUT"> <intent-filter> <action android:name="com.android.launcher.action.INSTALL_SHORTCUT" /> </intent-filter> </receiver>
所以向这个BroadcastReceiver发送广播,首先应用程序必须要 有com.android.launcher.permission.INSTALL_SHORTCUT权限,然后广播去的Intent的action设置为
com.android.launcher.action.INSTALL_SHORTCUT。
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.studio.android.ch10.ex1" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/ji" android:label="@string/app_name"> <activity android:name=".UrgentCall" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="3" /> <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/> </manifest>
import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.os.Parcelable; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class UrgentCall extends Activity implements OnClickListener { Button police; Button fire; Intent directCall; private final String ACTION_ADD_SHORTCUT = "com.android.launcher.action.INSTALL_SHORTCUT"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); police = (Button)findViewById(R.id.police); fire = (Button)findViewById(R.id.firepolice); police.setOnClickListener(this); fire.setOnClickListener(this); directCall = new Intent(Intent.ACTION_CALL); } @Override public void onClick(View v) { Intent addShortcut = new Intent(ACTION_ADD_SHORTCUT); String numToDial = null; Parcelable icon = null; switch (v.getId()) { case R.id.police: numToDial = "110"; icon = Intent.ShortcutIconResource.fromContext( this,R.drawable.jing); break; case R.id.firepolice: numToDial = "119"; icon = Intent.ShortcutIconResource.fromContext( this,R.drawable.huo); break; default: break; } addShortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, numToDial); directCall.setData(Uri.parse("tel://"+numToDial)); addShortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, directCall); addShortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon); sendBroadcast(addShortcut); } }
方法三:为应用程序组件注册一个符合特定条件的IntentFilter,然后就可以直接在Launcher的桌面上添加启动该组件的快捷方式了。
当我们在Home应用程序Launcher的桌面空白处长按触摸时,会出现一个对话框,提示选择要添加的桌面组件。当我们想把添加的快捷方式的Activity添加进这列时,只需要在这个Activity注册时添加一个Action为android.intent.action.CREATE_SHORTCUT的IntentFilter就可以。
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.studio.android.ch10.ex1" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/ji" android:label="@string/app_name"> <activity android:name=".UrgentCall" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.CREATE_SHORTCUT" /> </intent-filter> </activity> <activity android:name=".FireShortcut"> <intent-filter> <action android:name="android.intent.action.CREATE_SHORTCUT" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="3" /> <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/> </manifest>
import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.os.Parcelable; public class FireShortcut extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent addShortcut; //若是“添加快捷方式”的Action就初始化快捷方式的Intent if (getIntent().getAction() .equals(Intent.ACTION_CREATE_SHORTCUT)) { /*初始化添加快捷图标的Intent*/ addShortcut = new Intent(); addShortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, "119"); Parcelable icon = Intent.ShortcutIconResource.fromContext( this,R.drawable.huo); addShortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon); Intent callFirePolice = new Intent(Intent.ACTION_CALL,Uri.parse("tel://119")); addShortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, callFirePolice); /*设置Result*/ //因为Action是由Launcher通过startActivityForResult这个方法发出的。 setResult(RESULT_OK,addShortcut); } else { setResult(RESULT_CANCELED); } finish(); } }
这时列表中会有两个UrgentCall的选项,第二个就直接在桌面添加“拨打火警119”的快捷方式了。
评论
1 楼
HHLgloden110
2011-10-20
老兄,请教一个问题,
给应用程序创建快捷方式时,这个快捷方式的点击事件并不是打开给应用程序,而是执行应用程序里的一个服务,那快捷方式的事件要怎么写呢?直接通过intent不能实现跳转到服务,老是提示“应用程序尚未安装在你的手机上”
如何解决阿???指点下
给应用程序创建快捷方式时,这个快捷方式的点击事件并不是打开给应用程序,而是执行应用程序里的一个服务,那快捷方式的事件要怎么写呢?直接通过intent不能实现跳转到服务,老是提示“应用程序尚未安装在你的手机上”
如何解决阿???指点下
发表评论
-
Android 桌面部件
2011-07-06 19:26 1859桌面部件是一种利用AppWidget框架将应用程序的某个部件放 ... -
Android 实时文件夹
2011-07-06 15:38 2851实时文件夹是一种用来显示由某个ContentProvider提 ... -
Android权限详解
2011-07-04 09:43 2235在Android的设计中,资源的访问或者网络连接,要得到这 ... -
Android权限注解
2011-07-04 09:33 3468Android应用程序在使用很多功能的时候必须在Mainife ... -
ListView使用SimpleAdapter加载网络图片
2011-07-02 19:14 7700ListView是一种常见的布局,通过SimpleAdapte ... -
android:layout_gravity 和 android:gravity 的区别
2011-07-02 19:00 2096gravity 这个英文单词是重心的意思,在这里就表示 ... -
横竖屏切换时不销毁当前activity 和 锁定屏幕
2011-07-02 18:58 3619首先在Mainifest.xml的Activity元素 ... -
onSaveInstanceState和onRestoreInstanceState触发的时机
2011-07-02 17:49 2873当某个activity变得“容易”被系统销毁时,该ac ... -
strings.xml文件中提供占位符来格式化数据
2011-07-01 16:16 3212有些朋友可能会动态的修改Android中strings. ... -
ANDROID开机动画分析
2011-05-25 15:40 5923Android 2.0 开机动画文件分析。开机动画文件:boo ... -
Android专栏地址,真的不错啊!!!
2011-05-22 20:22 1646第三极: http://disanji.net/cate ... -
A1200入门DIY
2011-05-22 11:40 0A1200入门DIY 2007-04-16 19:33 ... -
android用户界面数据绑定
2011-05-19 21:25 5276当我们想用合适的方式显示并操作一些数据(如数组,链表,数据库等 ... -
emulator: ERROR: the user data image is used by another emulator. aborting
2011-05-19 13:48 2348今天早上起床,运行项目时报错:Error the use ... -
Android Map demo
2011-04-23 22:24 3387AndroidManifest.xml <?xm ... -
Android Map申请key
2011-04-23 22:02 31091. 首先先要获取你的debug keystore位置 ... -
conversion to dalvik format failed with error 1
2011-04-23 21:52 3468android低版本工程(如1.5)放到高版本环境中(如2.2 ... -
Android GPS基础
2011-04-20 22:14 2773package org.example.locationtes ... -
Android API:Activity.managedQuery()
2011-04-20 19:22 2622描述: 获取一个包含指定数据的 Cursor 对 ... -
Android与Internet(获取资源,多线程断点下载,get/post发送,发送xml)
2011-04-07 20:13 6850从Internet获取数据 利用HttpURLConn ...
相关推荐
这个话题主要涵盖的是如何在Android应用中检查用户是否赋予了创建桌面快捷方式的权限,以及如何适当地处理这一过程。 首先,我们需要理解Android的权限系统。在Android 6.0(API级别23)之前,应用在安装时会一次性...
在Android操作系统中,桌面快捷方式是一种便捷的方式,允许用户快速访问他们经常使用的应用程序、联系人、设置或者其他功能。本文将详细讲解如何创建和删除Android桌面快捷方式,以及它们的工作原理。 **一、创建...
Android 创建桌面快捷方式指向 PDF 文件 Android 创建桌面快捷方式指向 PDF 文件是 Android 开发中一个常见的需求。通过创建桌面快捷方式,用户可以快速访问 PDF 文件,而不需要在文件浏览器中搜索文件。下面将详细...
在Android开发中,创建桌面快捷方式是提升用户体验的重要一环,允许用户快速访问应用程序的关键功能。本篇将详细讲解如何检查Android应用是否已创建桌面快捷方式以及如何创建快捷方式。 首先,我们需要理解Android...
在Android开发中,为应用程序创建桌面快捷方式是一项常见的需求。这不仅可以提升用户体验,还能让用户更方便地访问应用。本文将详细介绍如何在Android系统中判断快捷方式是否存在、如何添加及删除快捷方式。 #### ...
在Android系统中,为应用程序创建桌面快捷方式是提高用户体验的重要方式之一。用户可以通过快捷方式轻松访问常用功能,而无需每次都打开整个应用。本教程将详细解释如何通过源代码实现这一功能,同时也参考了名为...
在Android开发中,创建桌面快捷方式是常见的功能之一,它允许用户快速访问应用程序中的特定功能或活动。这个主题主要涉及到Android系统的Intent、BroadcastReceiver以及ShortcutManager API等关键知识点。接下来,...
这篇2011年的博客文章"2011.09.09(2)——— android 桌面添加快捷方式"探讨了如何在Android开发中创建自定义桌面快捷方式。下面我们将详细讨论这个主题,以及涉及的相关知识点。 首先,我们需要理解Android的...
通过`ShortcutManager`,开发者可以添加、更新或删除快捷方式。然而,创建快捷方式可能需要特定的权限,例如`MANAGE_SHORTCUTS`。对于某些品牌,如华为,还需要额外的权限设置或者服务注册。 在`checkUtil.java`这...
可以实现为手机上的某个应用添加桌面快捷方式、移除某个应用到快捷方式 如有问题,请浏览我的博客:http://blog.csdn.net/u011268102/article/details/9335971
本篇将深入探讨如何在Android应用中实现快捷方式的添加、删除以及查询其是否存在。 首先,我们需要了解Android的Shortcut API。自Android Nougat (API 25)开始,引入了Dynamic Shortcuts,允许开发者动态创建和更新...
- 创建桌面快捷方式需要在AndroidManifest.xml中为BroadcastReceiver添加权限: ```xml <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> ``` - Android API 26及以上...
在Android操作系统中,"发送桌面快捷方式"是一个常见的功能,允许用户将应用程序、联系人、网页等快速添加到主屏幕,以便一键访问。这个过程涉及到Android的Intent机制、BroadcastReceiver和快捷方式服务。下面我们...
本示例“安卓Launcher桌面相关-android生成桌面快捷方式shortcutdemo.rar”聚焦于如何在Android应用程序中创建桌面快捷方式,方便用户快速访问特定的功能或活动。以下是对这个主题的详细阐述: 一、Android快捷方式...
在Android应用开发中,创建桌面快捷方式是一种常见的功能,它允许用户快速启动应用程序或执行特定操作。本资源提供了创建桌面快捷方式的源代码,对于开发者来说具有很高的参考价值。下面我们将详细探讨如何在Android...
1. 显示快捷方式的权限提示:在Android 8.0(API级别26)及以上版本,首次创建动态快捷方式时,系统会提示用户是否允许添加。确保在创建快捷方式前检查`ShortcutManager`的`isRequestPinShortcutSupported()`方法,...
手机升级到安卓O后,突然发现创建快捷方式的功能失效了,查询一番后发现:安卓O要使用ShortcutManager来创建快捷方式。 安卓N及以下版本: Intent addShortcutIntent = new Intent...
4. **桌面快捷方式**:之后,会在桌面上看到这个联系人的快捷方式,点击它可以直接打开与该联系人的聊天窗口。 快捷方式到桌面的功能在Android系统中非常实用,它不仅限于应用,还可以包括设置项、快捷面板开关、...