java创建android快捷方式_Android 通过应用程序创建快捷方式

Android 快捷方式是桌面最基本的组件。它用于直接启动某一应用程序的某个组件。       一般情况下,可以在Launcher的应用程序列表上,通过长按某一个应用程序的图标在左面上创建改该应用程序的快捷方式。另外,还可以通过两种方式在桌面上添加快捷方式:       一:在应用程序中创建一个Intent,然后以Broadcast的形式通知Launcher创建一个快捷方式。       二:为应用程序的组件注册某一个符合特定条件的IntentFilter,然后可以直接在Launcher的桌面添加启动该组件的快捷方式。       下面模拟在应用程序中添加快捷方式main.xml布局文件java代码:

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_gravity="center_horizontal"

android:textSize="20px"

android:text="创建快捷键"/>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_gravity="center_horizontal"

android:textSize="20px"

android:text="退出"/>

package="eoe.demo" android:versionCode="1"

android:versionName="1.0">

android:label="@string/app_name">

android:label="@string/app_name">

android:name="android.intent.category.LAUNCHER" />

android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />

ShortCutAction类

java代码

package apkbus.demo;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.os.Parcelable;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

/**

* 通过应用程序创建快捷方式

*

* @author jiqinlin

*

*/

public class ShortCutAction extends Activity implements OnClickListener{

private Button createShortcut=null; //创建快捷键按钮

private Button exit=null;//退出系统

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

createShortcut=(Button)findViewById(R.id.createShortcut);

exit=(Button)findViewById(R.id.exit);

createShortcut.setOnClickListener(this);

exit.setOnClickListener(this);

}

public void onClick(View v) {

//Button btn=(Button)v;

switch (v.getId()) {

case R.id.createShortcut:

//String title=getResources().getString(R.string.title);

Intent addIntent=new Intent("com.android.launcher.action.INSTALL_SHORTCUT");

Parcelable icon=Intent.ShortcutIconResource.fromContext(this, R.drawable.png);

//获取快捷键的图标

Intent myIntent=new Intent(this, ShortCutAction.class);

addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "快捷方式");//快捷方式的标题

addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);//快捷方式的图标

addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, myIntent);//快捷方式的动作

sendBroadcast(addIntent);//发送广播

break;

case R.id.exit:

System.exit(0);

break;

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是 Android 动态创建快捷方式的步骤: 1. 首先,您需要在 AndroidManifest.xml 文件中声明您的快捷方式。在应用程序的 <application> 标记内部,添加以下内容: ```xml <activity android:name=".MyShortcutActivity" android:label="@string/shortcut_label"> <intent-filter> <action android:name="android.intent.action.CREATE_SHORTCUT" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> ``` 2. 创建一个新的 Activity 类 MyShortcutActivity,该类将处理创建快捷方式的请求。在 onCreate() 方法中,您可以设置快捷方式的属性,例如快捷方式 ID、快捷方式标签和快捷方式图标。 ```java public class MyShortcutActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 设置快捷方式 ID 和标签 String shortcutId = "my_shortcut"; String shortcutLabel = "My Shortcut"; // 创建快捷方式意图 Intent shortcutIntent = new Intent(Intent.ACTION_VIEW); shortcutIntent.setClassName(this, MainActivity.class.getName()); // 创建快捷方式 ShortcutInfo shortcut = new ShortcutInfo.Builder(this, shortcutId) .setShortLabel(shortcutLabel) .setIcon(Icon.createWithResource(this, R.drawable.shortcut_icon)) .setIntent(shortcutIntent) .build(); // 添加快捷方式 ShortcutManager shortcutManager = getSystemService(ShortcutManager.class); shortcutManager.setDynamicShortcuts(Collections.singletonList(shortcut)); // 结束 Activity finish(); } } ``` 3. 在您的应用程序中,您可以通过调用 ShortcutManager 的 setDynamicShortcuts() 方法来添加动态快捷方式。在这个例子中,我们只添加了一个快捷方式,但您可以添加多个快捷方式。 ```java ShortcutManager shortcutManager = getSystemService(ShortcutManager.class); shortcutManager.setDynamicShortcuts(Collections.singletonList(shortcut)); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值