Android中快捷方式的创建和删除(ShortCut)

    今天学习了一下快捷方式的创建和删除(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();
		}
	}



(二)使用发送广播来进行创建快捷方式:该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

其他的设置要删除的快捷方式的名字要相同,其他的代码都差不多,同样可以通过发送广播来卸载快捷方式.....



上面是我一些对于ShortCut创建和卸载的小总结,有兴趣可以和我一起交流学习,如果上面写到有不当之处,希望能够留言给我提出建议,谢谢




  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
以下是 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)); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值