Android中应用的快捷方式的创建

(一)使用发送广播来进行创建快捷方式:该demo例子实现的功能是:在界面有一个按钮,点击按钮生成一个快捷方式,然后点击快捷方式进入拨打电话的页面;

生成步骤如下:

1:如下权限: <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />

2:在Activity中new一个Intent加入Action:

_Intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");

3:其他核心代码如下:

Intent _ReturnIntent = new Intent();

// 设置创建快捷方式的过滤器action

_ReturnIntent

.setAction("com.android.launcher.action.INSTALL_SHORTCUT");

// 设置生成的快捷方式的名字

_ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME,

"Broad ShortCut");

// 设置生成的快捷方式的图标

_ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,

Intent.ShortcutIconResource.fromContext(

LauncherActivity.this, R.drawable.ic_launcher));

Intent _Intent = new Intent(Intent.ACTION_CALL);

_Intent.setData(Uri.parse("tel://5556"));

_ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, _Intent);

// 发送广播生成快捷方式

sendBroadcast(_ReturnIntent);

LauncherActivity.this.finish();

}

当然上面要加入拨打电话的权限:

<uses-permission android:name="android.permission.CALL_PHONE" />

如果我们想要卸载快捷方式,需要在布局文件中加入权限

<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"/>

然后intent中传入 com.android.launcher.permission.UNINSTALL_SHORTCUT

(二):使用一个Activity,然后在Home界面点击Menu->添加->选择快捷方式->选择创建的应用程序的快捷方式,看如下的效果:

创建步骤如下:

①:在Androidmanifset.xml文件中注册Activity

②:在IntentFiler标签下面加入<action/>

看下Activity中的核心代码:

public class ShortCutSample extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

if (getIntent().getAction().equals(

"android.intent.action.CREATE_SHORTCUT")) {

Intent _ReturnIntent = new Intent();

//设置快捷方式的名字

_ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME,

"jiangqq ShortCut");

//设置快捷方式的图标

_ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,

Intent.ShortcutIconResource.fromContext(this,

R.drawable.ic_launcher));

Intent _Intent=new Intent(Intent.ACTION_CALL);

_Intent.setData(Uri.parse("tel://10086"));

//当快捷方式创建完成之后,点击图标跳转到拨打拨打电话的页面

_ReturnIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(

this, LauncherActivity.class));

//设置返回值,一般是OK,

setResult(RESULT_OK, _ReturnIntent);

finish();

}

}

时间: 2024-10-19 15:21:38

Android中应用的快捷方式的创建的相关文章

Android中Json数据读取与创建

一:  Json的特性和在数据交互中的地位就不用说了,直接看案例. 首先在android studio中创建assets文件目录,用于存放Json数据文件,android studio 1.3 默认项目文件目录下是没有assets文件夹的, 所以需要我们进行创建,创建方法如下: 创建好assets文件目录以后,在其目录下创建一个Text.json文件. 二:如何获得assets文件目录下的Json数据: 在eclipse下是:InputStreamReader(getAssets().open(

ANDROID中FRAGMENT的两种创建方式

fragment是Activity中用户界面的一个行为或者是一部分.你可以在一个单独的Activity上把多个Fragment组合成为一个多区域的UI,并且可以在多个Activity中再使用.你可以认为fragment是activity的一个模块零件,它有自己的生命周期,接收它自己的输入事件,并且可以在Activity运行时添加或者删除. 两个概念:Fragment.宿主 fragment的生命周期直接受其宿主activity的生命周期的影响.例如,一旦activity被暂停,它里面所有的fra

Android中如何区分界面组件创建和销毁的类型

本文主要描述: 1.分辨系统杀掉退出还是用户主动退出2.分辨全新的创建还是系统恢复性的创建 1.分辨系统杀掉退出还是用户主动退出 当一个组件失去焦点后,系统有可能为了释放资源而杀掉这个组件,这个时候系统会调用到onSaveInstanceState方法用来通知保存一些状态数据.而如果用户是按下了back键或者在代码的某个地方 执行了context.finish()而导致组件退出,则不会走到onSaveInstanceState方法. 所以可以根据是否走到了onSaveInstanceState方

Android中Fragment和ViewPager那点事儿

在之前的博文<Android中使用ViewPager实现屏幕页面切换和引导页效果实现>和<Android中Fragment的两种创建方式>以及<Android中Fragment与Activity之间的交互(两种实现方式)>中我们介绍了ViewPager以及Fragment各自的使用场景以及不同的实现方式. 那如果将他们两结合起来,会不会擦出点火花呢,答案是肯定的.之前在介绍ViewPager时,我们实现了多个ImageView的切换,并配合更新导航原点的状态.那我们现在

Android中Fragment与Activity之间的交互(两种实现方式)

(未给Fragment的布局设置BackGound) 之前关于Android中Fragment的概念以及创建方式,我专门写了一篇博文<Android中Fragment的两种创建方式>,就如何创建Fragment混合布局做了详细的分析,今天就来详细说道说道Fragment与宿主Activity之间是如何实现数据交互的. 我们可以这样理解,宿主Activity中的Fragment之间要实现信息交互,就必须通过宿主Activity,Fragment之间是不可能直接实现信息交互的. Fragment与

iOS中的NSTimer 和 Android 中的Timer

首先看iOS的, Scheduling Timers in Run Loops A timer object can be registered in only one run loop at a time, although it can be added to multiple run loop modes within that run loop. There are three ways to create a timer: Use the scheduledTimerWithTimeI

Android中为APP创建快捷方式的原理(自己的理解)

我们首先来看Android中为APP创建快捷方式的原理: 从图上可以看出,Android大致分7步完成快捷方式的创建: 第一步:Android系统的launcher程序会调用它的pickShortcut()方法去启动系统的pickActivity程序(应用): 第二步:pickActivity程序(应用)启动后会调用它的CheckIntentFilter()方法,去在系统中寻找可以创建快捷方式的应用有哪些,并且列举出来.只要第三方                     App用<Intent-

在Android中修改快捷方式的图标

最近在做项目开发时用到了MySql数据库,在看了一些有关MySql的文章后,很快就上手使用了.在使用的过程中还是出现了一些问题,因为使用的是绿色免安装版的MySql所以在配置的时候出现了一些问题,该篇文章就主要针对MySql绿色版的配置及其使用进行讨论. 一.MySql概述 MySql数据库是有瑞典MySql AB公司开发,现在该公司被Oracle收购属于Oracle所有.同SQL Server类似,它也是基于关系型数据库的数据库管理系统,在Web应用方面MySQL是最好的RDBMS之一,因为它

【转载】如何在Android中避免创建不必要的对象

在编程开发中,内存的占用是我们经常要面对的现实,通常的内存调优的方向就是尽量减少内存的占用.这其中避免创建不必要的对象是一项重要的方面. Android设备不像PC那样有着足够大的内存,而且单个App占用的内存实际上是比较小的.所以避免创建不必要的对象对于Android开发尤为重要. 本文会介绍一些常见的避免创建对象的场景和方法,其中有些属于微优化,有的属于编码技巧,当然也有确实能够起到显著效果的方法. 使用单例 单例是我们常用的设计模式,使用这种模式,我们可以只提供一个对象供全局调用.因此单例