Android 主界面长按创建快捷方式

Android中创建快捷方式主要有两种方式,一是在代码中直接添加生成桌面快捷方式的代码;二是通过小部件添加;

这篇文章主要讲第二种方法!

1、通过在AndroidManifest文件中为Activity添加

<intent-filter>                    
            <action android:name="android.intent.action.CREATE_SHORTCUT"/>                
</intent-filter>

添加之后,长按桌面,小部件中会有你应用的图标出现!这才完成了第一步!


2、通过第一步之后,你是不能够把快捷方式拖到桌面上的,只会进入到指定的Activity,其实生成图标是在Activity内用代码完成的!

在oncreate中首先判断是否是创建快捷方式的action:

private boolean isCreateShortcut(Intent intent){
		return SHORCUTACTION.equals(intent.getAction())?true:false;
	}

如果是的话就创建快捷方式:

	private void creareShorcut(){
		Log.e(TAG, " ---------creareShorcut----------");
		Intent addShortCut = new Intent();                 
        //快捷方式的名称                 
        addShortCut.putExtra(Intent.EXTRA_SHORTCUT_NAME , "快捷方式名称");                 
        //桌面上显示的图片                
        Parcelable icon = ShortcutIconResource.fromContext(this, R.drawable.cacaxi);                 
        addShortCut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);     
        //点击快捷方式时,需要启动的Activity,但是应该是该应用的主Activity;或者也可以是到网址,电话等         
        Intent toIntent = new Intent(mContext,MainActivity.class);
        Intent call112 =   
                new Intent(Intent.ACTION_CALL,Uri.parse("tel://112")); 
        addShortCut.putExtra(Intent.EXTRA_SHORTCUT_INTENT,toIntent);                 
        //最后一步,发送                
        setResult(RESULT_OK, addShortCut); 
	}

需要注意的是启动的Activity,应该是该应用的主Activity,因为我用其他的Activity试了很多的方式也不能够启动,没有深入的去研究,如果有谁研究过可以分享下!

那现在就有个问题了,怎么才能到指定的Activity?

答案就是在Intent中添加参数,通过主Activity来中转!




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值