Android中应用的快捷方式的创建

 

()使用发送广播来进行创建快捷方式:demo例子实现的功能是:在界面有一个按钮,点击按钮生成一个快捷方式,然后点击快捷方式进入拨打电话的页面;

 生成步骤如下:

1:如下权限: <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />

2:Activitynew一个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

():使用一个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();
        }
    }

 

 

 

 

 

 

 


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。