android 如何创建快捷小图标

来源:互联网 发布:淘宝霸王条款 编辑:程序博客网 时间:2024/05/16 13:47

Android 在桌面创建快捷小图标

1、需要一个权限

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

2、创建快捷图标无非就是开启一个意图

    //定义一个意图    Intent intent = new Intent();    //设置动作,该动作为创建快捷图标动作                         intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");    //duplicate属性设置为false    intent.putExtra("duplicate", false);    //设置拨打电话的意图         Intent doWhatIntent = new Intent();  doWhatIntent.setAction(Intent.ACTION_CALL);  //设置目标电话    doWhatIntent.setData(Uri.parse("tel:"+number));    //设置快捷图标点击的动作,本例子点击快捷图标实现快捷拨号    intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, doWhatIntent);    //快捷图标名字    intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, name);    //快捷图标icon    intent.putExtra(Intent.EXTRA_SHORTCUT_ICON,   BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));    //发送广播    sendBroadcast(intent);

3、完整代码

package com.qzzhu.setIcon;import android.support.v7.app.ActionBarActivity;import android.content.Intent;import android.graphics.BitmapFactory;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.widget.EditText;public class MainActivity extends ActionBarActivity {    private EditText etName;    private EditText etNumber;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        etName = (EditText) findViewById(R.id.name);        etNumber = (EditText) findViewById(R.id.number);    }    /**     * 按钮点击事件     * 利用发广播的方式通知桌面应用创建图标     * @param view     */    public void createIcon(View view ){        String name = etName.getText().toString().trim();        String number =etNumber.getText().toString().trim();        Intent intent = new Intent();        intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");        intent.putExtra("duplicate", false);        Intent doWhatIntent = new Intent();        doWhatIntent.setAction(Intent.ACTION_CALL);        doWhatIntent.setData(Uri.parse("tel:"+number));        intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, doWhatIntent);        intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, name);        intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));        sendBroadcast(intent);    }}
0 0
原创粉丝点击