码迷,mamicode.com
首页 > 移动开发 > 详细

Android-Shortcut

时间:2015-07-03 09:17:33      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:android   manifest文件   shortcut   

Android-Shortcut
一 shortcut
应用程序快捷方式

二 创建shortcut的两种方式
通过配置manifest文件,让程序可以从Launcher中添加
1 在manifest文件中注册一个Activity_1,目的是添加到快捷方式列表上

<activity android:name="com.chengzhi.shortcuttest.Activity_1">
            <intent-filter >
                <action android:name="android.intent.action.CREATE_SHORTCUT"/> //必须加上
            </intent-filter>
        </activity>

2 在Activity_1中设置intent

package com.chengzhi.shortcuttest; 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;

public class Activity_1 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对象
            Intent _intent = new Intent();
            //快捷方式的名称
            _intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "chengzhi app"); 
            //快捷方式的图标
            _intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, Intent.ShortcutIconResource.fromContext(this, R.id.icon));
            //MainActivity是点击创建的快捷方式打开的另外一个Activity,不可以是自身,因为后面还有finish()步骤
            _intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(this, MainActivity.class));
             //设置结果
            setResult(RESULT_OK, _intent);
            //创建完毕要关闭当前的Activity,时间非常短暂
            finish();  
        }   
    } 
}

程序启动后,在Launcher中即可通过长按屏幕来添加

在应用程序内部通过点击按钮等来添加快捷方式
1,在manifest文件中添加必要的权限,因为这种方式是通过在Launcher中集成的BroadcastReceiver来实现的

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

2,在一个Activity_2中实现操作

package com.chengzhi.shortcuttest;
import com.chengzhi.androidlauncher.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Activity_2 extends Activity
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        //设置界面的属性
        setContentView(R.layout.activity_main);
        Button _button = (Button)findViewById(R.id.installShortcut);

        //通过按钮来创建快捷方式
        _button.setOnClickListener(new OnClickListener()
        {

            @Override
            public void onClick(View arg0)
            {
                // TODO Auto-generated method stub
                //创建intent对象
                Intent _intent = new Intent(); 
                //设定action
                _intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
                //快捷方式的名称
                _intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "chengzhi app2");
                //点击快捷方式后打开的Activity为自身
                _intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Activity_2.this, Activity_2.class));
                //通过发送消息来实现
                sendBroadcast(_intent);

            }
        }); 
    }

}

程序启动后,在启动的Activity中点击按钮即可添加快捷方式,默认会有Toast通知

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android-Shortcut

标签:android   manifest文件   shortcut   

原文地址:http://blog.csdn.net/qq_22075977/article/details/46732143

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!