`

创建桌面快捷方式

阅读更多
     在此谢谢gryphone的博客文章,从他那里学到了很多东西,真是谢谢,将学的内容也贴上来给大家分享,自己也做个存档,以便以后复习利用;
1.创建快捷方式的方法1
    当我们在模拟器或手机上屏幕上长按屏幕会弹出选择框,询问是否添加快捷方式等操作:当我们选择shortCut后,就会出现一个ListView列出所有可以添加的items:
下面通过手动建立一个程序,添加了intentFilter为android.intent.action.CREATE_SHORTCUT的intent,这样当选择了它后,就会在桌面生成一个自定义需要这个activity去做一件事情的快捷图标:
1.处理点击快捷图标后执行的代码块
  ShortcutUsage.java文件
package cn.com;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Parcelable;

public class ShortcutUsage extends Activity {

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		Intent addShortcut;
        //获取启动这个activity的intent的action
		if (getIntent().getAction().equals(Intent.ACTION_CREATE_SHORTCUT)) {

			addShortcut = new Intent();
			addShortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, "110");

			Parcelable icon = Intent.ShortcutIconResource.fromContext(this,
					R.drawable.icon);
          //初始化快捷方式图标
			addShortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);

			Intent callPolice = new Intent(Intent.ACTION_CALL, Uri
					.parse("tel://110"));
			addShortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, callPolice);

			setResult(RESULT_OK, addShortcut);
		} else {
			setResult(RESULT_CANCELED);
		}
		finish();
	}
}





2.第二个主要的是配置文件AndroidMenifest.xml文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
	package="cn.com" android:versionCode="1"
	android:versionName="1.0">
	<application android:icon="@drawable/icon" android:label="@string/app_name">
		<activity android:name=".lauchActivity" android:label="@string/app_name">
			<intent-filter>
				<action android:name="android.intent.action.MAIN" />
				<category android:name="android.intent.category.LAUNCHER" />
			</intent-filter>
		</activity>
		<activity android:name=".ShortcutUsage">
			<intent-filter>
				<action android:name="android.intent.action.CREATE_SHORTCUT" />
			</intent-filter>
		</activity>
	</application>
	<uses-sdk android:minSdkVersion="3" />

</manifest> 


3. lauchActivity.java文件
package cn.com;

import android.app.Activity;
import android.os.Bundle;

public class startActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}



    main.xml文件默认生成的就可以了,这样当执行文章开头代码,就会在桌面建立一个拨打110的快捷方式;


2.创建快捷方式的方法2
1. ShortcutUsage.java文件内容
主要是通过一个按钮点击事件广播一个intent给所有可能接收到的Receivers来响应,
package cn.com;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;

public class ShortcutUsage extends Activity {
	private final String ACTION_ADD_SHORTCUT = "com.android.launcher.action.INSTALL_SHORTCUT";

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		findViewById(R.id.button).setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				// TODO Auto-generated method stub
				shortcutCreate();
			}
		});
	}

	public void shortcutCreate() {
		Intent intent = new Intent(ACTION_ADD_SHORTCUT);

		Intent dial = new Intent(Intent.ACTION_CALL);
		dial.setData(Uri.parse("tel://110"));
		intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "dial to 110");
		intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, dial);
		intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
				Intent.ShortcutIconResource.fromContext(this, R.drawable.jing));

		sendBroadcast(intent);
	}
}


2.配置文件AndroidMenifest.xml文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
	package="cn.com" android:versionCode="1"
	android:versionName="1.0">
	<application android:icon="@drawable/icon" android:label="@string/app_name">
		<activity android:name=".ShortcutUsage" 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> 


其他简单的资源文件都自己配下,希望对大家有所帮助.




分享到:
评论

相关推荐

    C# 创建桌面快捷方式

    在C#编程中,创建桌面快捷方式是常见的需求,尤其在开发桌面应用程序时。下面将详细介绍两种主要的方法:通过COM组件以及通过纯代码创建快捷方式。 1. **通过COM组件创建快捷方式** 这种方法是利用Windows操作...

    添加桌面快捷方式

    创建桌面快捷方式可以节省时间,避免频繁地通过开始菜单或文件夹寻找需要的程序。本篇将详细介绍如何创建桌面快捷方式以及相关的编程知识。 首先,我们来了解手动创建桌面快捷方式的步骤: 1. 找到你需要创建快捷...

    Delphi创建桌面快捷方式和设置开机自启动

    在Delphi编程环境中,创建桌面快捷方式和设置应用程序开机自启动是常见的系统集成步骤,这有助于用户更加方便地访问和管理程序。以下将详细介绍如何通过Delphi实现这两个功能。 首先,我们来讨论如何创建桌面快捷...

    windows 创建桌面快捷方式并修改图标

    在Windows操作系统中,创建桌面快捷方式是用户便捷访问常用程序或网站的重要手段。当你需要频繁访问某个网站,但记不住网址或不熟悉浏览器的收藏功能时,创建桌面快捷方式可以帮助你快速启动网页。以下是详细步骤,...

    C#代码创建桌面快捷方式

    在C#编程环境中,创建桌面快捷方式是一种常见的需求,特别是在开发Windows桌面应用程序时。这个话题主要涉及C#语言和Windows Forms(WinForms)的应用。在本文中,我们将深入探讨如何利用C#代码来实现这一功能。 ...

    Android判断是否获取到桌面快捷方式权限

    当涉及到创建桌面快捷方式时,虽然这不是一个典型的受保护的权限,但理解如何在程序中判断是否具备这样的功能仍然是重要的。这个话题主要涵盖的是如何在Android应用中检查用户是否赋予了创建桌面快捷方式的权限,...

    Linux下给Spyder创建桌面快捷方式.docx

    Linux下给Spyder创建桌面快捷方式 Linux操作系统下,创建桌面快捷方式可以使用户快速访问Spyder应用程序,以下是创建桌面快捷方式的步骤和知识点: 一、创建桌面快捷方式的必要条件 在创建桌面快捷方式之前,需要...

    android 检查是否创建桌面快捷方式以及创建快捷方式

    在Android开发中,创建桌面快捷方式是提升用户体验的重要一环,允许用户快速访问应用程序的关键功能。本篇将详细讲解如何检查Android应用是否已创建桌面快捷方式以及如何创建快捷方式。 首先,我们需要理解Android...

    C#创建桌面快捷方式

    根据给定的文件信息,我们可以总结出以下关于“C#创建桌面快捷方式”的知识点: ## 一、概述 本文档介绍了一个用C#语言编写的简单示例程序,该程序的功能是在不同的位置(如收藏夹、桌面等)创建指定名称与URL的...

    android创建桌面快捷方式指向PDF文件

    Android 创建桌面快捷方式指向 PDF 文件 Android 创建桌面快捷方式指向 PDF 文件是 Android 开发中一个常见的需求。通过创建桌面快捷方式,用户可以快速访问 PDF 文件,而不需要在文件浏览器中搜索文件。下面将详细...

    C#创建桌面快捷方式【两种方式实现】

    在C#编程中,创建桌面快捷方式是一种常见的需求,它使得用户可以更便捷地访问程序或文件。本篇文章将详细讲解两种方法来实现这一功能,同时提供Visual Studio 2005的源代码示例。 ### 方法一:使用Shell32库 **1. ...

    Delphi桌面创建快捷方式代码

    在Delphi编程环境中,创建桌面快捷方式是一项常见的任务,它能帮助用户快速访问应用程序或功能。下面我们将深入探讨如何利用Delphi的API函数来实现这一功能。 首先,我们需要理解快捷方式(Shortcut)在Windows操作...

    c#通过纯代码创建桌面快捷方式、创建程序菜单项、将网页添加到收藏夹

    在C#编程中,创建桌面快捷方式、程序菜单项以及将网页添加到收藏夹是常见的系统集成和用户体验优化操作。以下将详细介绍如何实现这些功能。 首先,创建桌面快捷方式主要涉及Windows壳对象(Shell)的应用,可以使用...

    IE下JS创建桌面快捷方式

    IE下JS创建桌面快捷方式.代码不执行是因为IE安全级别太高.请稍做设置. IE6 7 8 9下测试通过.

    android创建桌面快捷方式

    仿照微信或是淘宝网,发送快捷方式到桌面,主要代码如下: // 安装的Intent Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT"); // 快捷名称 shortcut.putExtra(Intent.EXTRA...

Global site tag (gtag.js) - Google Analytics