zoukankan      html  css  js  c++  java
  • Android之快捷方式一——通过应用程序创建快捷方式

    Android 快捷方式是桌面最基本的组件。它用于直接启动某一应用程序的某个组件。

    一般情况下,可以在Launcher的应用程序列表上,通过长按某一个应用程序的图标在左面上创建改该应用程序的快捷方式。另外,还可以通过两种方式在桌面上添加快捷方式:

    一:在应用程序中创建一个Intent,然后以Broadcast的形式通知Launcher创建一个快捷方式。

    二:为应用程序的组件注册某一个符合特定条件的IntentFilter,然后可以直接在Launcher的桌面添加启动该组件的快捷方式。

    下面模拟在应用程序中添加快捷方式

    main.xml布局文件

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation
    ="vertical"
    android:layout_width
    ="fill_parent"
    android:layout_height
    ="fill_parent">
    <Button android:id="@+id/createShortcut"
    android:layout_width
    ="fill_parent"
    android:layout_height
    ="wrap_content"
    android:layout_gravity
    ="center_horizontal"
    android:textSize
    ="20px"
    android:text
    ="创建快捷键"/>
    <Button android:id="@+id/exit"
    android:layout_width
    ="fill_parent"
    android:layout_height
    ="wrap_content"
    android:layout_gravity
    ="center_horizontal"
    android:textSize
    ="20px"
    android:text
    ="退出"/>
    </LinearLayout>

    清单文件

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.ljq.action" android:versionCode="1"
    android:versionName
    ="1.0">
    <application android:icon="@drawable/icon"
    android:label
    ="@string/app_name">
    <activity android:name=".ShortCutAction"
    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="7" />
    <!-- 添加快捷键权限 -->
    <uses-permission
    android:name
    ="com.android.launcher.permission.INSTALL_SHORTCUT" />
    </manifest>

    ShortCutAction类

    package com.ljq.action;

    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;
    }
    }
    }

    运行结果

  • 相关阅读:
    一个简单的knockout.js 和easyui的绑定
    knockoutjs + easyui.treegrid 可编辑的自定义绑定插件
    Knockout自定义绑定my97datepicker
    去除小数后多余的0
    Windows Azure Web Site (15) 取消Azure Web Site默认的IIS ARR
    Azure ARM (1) UI初探
    Azure Redis Cache (3) 创建和使用P级别的Redis Cache
    Windows Azure HandBook (7) 基于Azure Web App的企业官网改造
    Windows Azure Storage (23) 计算Azure VHD实际使用容量
    Windows Azure Virtual Network (11) 创建VNet-to-VNet的连接
  • 原文地址:https://www.cnblogs.com/linjiqin/p/1967187.html
Copyright © 2011-2022 走看看