- 浏览: 221008 次
文章分类
最新评论
-
lmjmn456:
为什么我的TestHall里面看不到RomeA RomeB R ...
Android 通过反射启动未安装的APK中的Activity -
wangleyiang:
uyerp 写道这样的话,只能将插件的元素显示到Hall中。有 ...
Android 通过反射启动未安装的APK中的Activity -
uyerp:
这样的话,只能将插件的元素显示到Hall中。有什么办法能在不安 ...
Android 通过反射启动未安装的APK中的Activity -
wangleyiang:
提高文学修养 写道不好意思,有时间尝试一下,谢谢!有问题提出来 ...
Android 主题之主题文件夹 -
提高文学修养:
不好意思,有时间尝试一下,谢谢!
Android 主题之主题文件夹
快捷方式提供一种快速访问目标应用的方式。在Android开发中,同样可以从代码上创建和删除快捷方式。下面做简要说明如何处理。先看效果图『创建-创建效果-删除-删除效果』:
添加删除快捷方式:
import android.app.Activity; import android.content.ComponentName; import android.content.Intent; import android.content.Intent.ShortcutIconResource; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class AActivity extends Activity implements OnClickListener { private Button addButton; private Button deleteButton; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); addButton = (Button) findViewById(R.id.button1); addButton.setOnClickListener(this); deleteButton = (Button) findViewById(R.id.button2); deleteButton.setOnClickListener(this); } private void addShortcut() { // 安装的Intent Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT"); // 快捷名称 shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name)); shortcut.putExtra("duplicate", false); // 启动对象 ComponentName comp = new ComponentName(this.getPackageName(), "." + this.getLocalClassName()); shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp)); // 快捷图标 ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(this, R.drawable.ic_launcher); shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes); // 发送广播 sendBroadcast(shortcut); } private void deleteShortcut() { // 卸载的Intent Intent shortcut = new Intent("com.android.launcher.action.UNINSTALL_SHORTCUT"); // 快捷名称 shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name)); // 指定对象 String appClass = this.getPackageName() + "." + this.getLocalClassName(); ComponentName comp = new ComponentName(this.getPackageName(), appClass); shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp)); // 发送广播 sendBroadcast(shortcut); } @Override public void onClick(View v) { if (v == addButton) { addShortcut(); return; } if (v == deleteButton) { deleteShortcut(); return; } } }说明:
- 构建ComponentName时,注意“.”的使用,否则会找不到需要启动的目标;
- 布局文件比较简单,可以在附件中找到;
- 如果希望可以重复创建,只要设置shortcut.putExtra("duplicate", true);就OK了;
Manifest文件权限设置:
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />
另一个效果:
出现在这里的方法是在Manifest文件设定的,具体如下:
<activity-alias android:label="Shortcut" android:name=".CreateShortcuts" android:targetActivity=".BActivity" > <intent-filter > <action android:name="android.intent.action.CREATE_SHORTCUT" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity-alias>说明:关于具体说明,还是看开发者网站吧,那里比较详细!『偷懒了』:)
这种方式实现的方式还是和上一种类似,只不过把快捷方式选择添加到了系统快捷方式页面罢了!还是需要在targetActivity中做一些操作才能创建快捷方式。下面看看BActivity做了什么吧:
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Parcelable; public class BActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = getIntent(); String action = intent.getAction(); if (Intent.ACTION_CREATE_SHORTCUT.equals(action)) { shortcut(); finish(); return; } setContentView(R.layout.activity_b); } void shortcut() { Intent shortcutIntent = new Intent(Intent.ACTION_MAIN); shortcutIntent.setClass(this, this.getClass()); Intent intent = new Intent(); intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "快捷图标"); intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); Parcelable shortIcon = Intent.ShortcutIconResource.fromContext(this, R.drawable.ic_launcher); intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, shortIcon); setResult(RESULT_OK, intent); } }看到了吧,这里还是在代码中创建快捷方式的!:)
多说一句:一些问题的解决,与其钻牛角尖,不如借鉴源码来的更快!:)
发表评论
-
避免OOM的一种方式
2014-03-11 09:30 871从网上看到一个避免OOM的方式,创建图片时,使用decod ... -
锁屏操作
2013-11-01 11:29 952从API Level 8开始,添加了一个新的类Device ... -
让Surface中绘制的内容响应用户的交互(状态变化)
2013-10-28 16:54 893被绘制的内容响应用户的交互,简单的看就是绘制内容的状态在用 ... -
在自定义的SurfaceView中绘制内容
2013-10-28 16:53 2861View和SurfaceView都可以用于绘制图形,但各有 ... -
在自定义的View中绘制内容
2013-10-28 10:52 945程序开发中,常常需要完成某一个特殊效果而绘制一些内容。 ... -
获取Bitmap大小
2013-10-08 17:59 1012Bitmap的操作常常会导致OOM(内存溢出)。 在处理B ... -
隐藏键盘的一种处理方法
2013-10-08 15:18 668通过调用系统服务来隐藏键盘的一种处理方法: // 获 ... -
通过系统调用裁剪图片
2013-10-08 15:05 1054分享一个Android源码查看网页:http://andr ... -
拍照,相册获取图片,系统裁剪图片
2013-09-30 12:41 1604获取相册图片的一种写法: Intent intent = ... -
转-Android开发环境搭建篇详尽的教程实例汇
2013-09-27 13:50 754原文:http://wiki.eoe.cn/page/An ... -
一种更改包名的方式-Linux命令
2013-09-27 09:54 1141在Android应用程序中更改包名,可以从文件的角度来解决 ... -
Android 通过反射启动未安装的APK中的Activity
2013-02-05 16:32 8875JAVA反射机制是在运行状态中,对于任意一个类,都能够知道 ... -
Android 判断程序是否是系统程序
2013-02-04 14:12 1657获得Android手机中安装程序是否是系统程序,比较好的方式 ... -
Android R
2013-02-01 16:18 1249import java.lang.reflect.Fiel ... -
Android 主题之主题文件夹
2013-02-01 14:22 1710从文件夹中获得主题资源,然后在程序中做相关调整,下面看一个 ... -
Android 主题之安装的APK主题文件
2013-01-31 17:25 1843Android中应用主题设置 ... -
『转』Android Intent常见应用
2013-01-30 16:46 1363转自:http://blog.csdn.net/spy19 ... -
Android px sp dip转化
2013-01-30 12:53 978一个关于px, sp, dip转化的代码: public ... -
Android 布局
2013-01-30 11:19 1318对Android提供的基本布局控件进行组合,可以实现一些相 ... -
Android 添加动画的标签栏
2013-01-29 23:10 1113运行效果图: 实现原理:标签布局好了以后,标签所在V ...
相关推荐
这个"android创建快捷方式demo"就是一个示例项目,帮助开发者理解如何在Android平台上实现这一功能。在这个Demo中,我们将深入探讨快捷方式的创建过程,以及在不同设备上可能遇到的问题,特别是关于删除快捷方式的...
Android 创建快捷方式图标,这个挺简单,有兴趣的Android初学者可参考研究. Intent.ShortcutIconResource.fromContext(this, R.drawable.png1);//图标 //创建点击快捷方式后操作Intent,该处当点击创建的快捷方式后...
当第一次运行程序或者是还没有创建快捷方式的情况下,会弹出一个对话框,提示用户是否要创建快捷方式。这个例子通过在SharedPreferences里读写相关的数值来判断程序是否是第一次启动以及是否创建了快捷方式。
在Android中创建快捷方式通常通过`Intent`和`ShortcutManager` API来实现。首先,你需要创建一个具有`ACTION_CREATE_SHORTCUT`动作的`Intent`,并设置相应的元数据,如快捷方式的标题、图标和意图目标。以下是一个...
猜测可能会是快捷方式的错误导致系统创建两个应用,就也是同一个应用会有两个PID,结果在控制台查看打印的LOG,不同方式启动的LOG如下: 代码如下:09-22 09:39:11.929: INFO/ActivityManager(61): Starting: Intent ...
仿照微信或是淘宝网,发送快捷方式到桌面,主要代码如下: // 安装的Intent Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT"); // 快捷名称 shortcut.putExtra(Intent.EXTRA...
本篇将详细讲解如何检查Android应用是否已创建桌面快捷方式以及如何创建快捷方式。 首先,我们需要理解Android中的快捷方式是如何工作的。在Android系统中,快捷方式是一个指向应用程序特定Activity的Intent对象,...
以上就是一个简单的Android创建快捷方式的实例。需要注意的是,从Android P(API 28)开始,系统引入了动态短 cuts,它们允许更丰富的交互,如自定义UI和动态更新。你可以根据需要进一步学习和适配这些新特性,以...
在Android系统中,创建快捷方式是一项常见的功能,它能让用户快速访问特定的应用或者功能,提升用户体验。本篇文章将深入探讨如何为Android软件创建快捷方式,包括理解快捷方式的工作原理、编写源码以及使用相关工具...
然后,通过调用`addShortcut()`或`createShortcutResultIntent()`方法,将这个`Intent`传递给系统,以在桌面创建快捷方式。 判断应用是否有权限创建桌面快捷方式,通常不是通过检查系统权限,而是通过尝试执行创建...
2. 创建快捷方式:在需要创建快捷方式的地方,使用`ShortcutManager`的`addDynamicShortcuts()`或`addStaticShortcuts()`方法。下面是一个创建动态快捷方式的例子: ```java ShortcutManager shortcutManager = ...
在Android开发中,创建快捷方式可以让用户更方便地访问应用程序的关键功能或特定页面,而无需通过主屏幕上的图标或应用抽屉。本教程将详细介绍如何在Android中实现这个功能,分为三个关键步骤。 **步骤一:添加权限...
创建快捷方式可以通过调用`ShortcutManager`类的相关API来实现,这个类从Android Nougat(API 24)开始引入,提供了动态创建和管理快捷方式的功能。 在Android中,有两种类型的快捷方式:静态快捷方式和动态快捷...
shortcutForAndroidshortcutForAndroid android创建快捷方式###主要代码如下/** * 创建快捷方式 */private void createShortCut() { // 创建快捷方式的Intent Intent shortcutIntent = new Intent(...
然而,创建快捷方式可能需要特定的权限,例如`MANAGE_SHORTCUTS`。对于某些品牌,如华为,还需要额外的权限设置或者服务注册。 在`checkUtil.java`这个工具类中,通常会包含一系列针对不同品牌设备的检查方法。例如...
例如,开发者可以为特定功能或操作创建快捷方式,用户可以直接从桌面启动。 **二、删除桌面快捷方式** 删除Android桌面快捷方式非常简单: 1. **直接移除**:只需长按快捷方式,然后将其拖动到屏幕顶部的“删除”...
Android 创建桌面快捷方式指向 PDF 文件 Android 创建桌面快捷方式指向 PDF 文件是 Android 开发中一个常见的需求。通过创建桌面快捷方式,用户可以快速访问 PDF 文件,而不需要在文件浏览器中搜索文件。下面将详细...