0
点赞
收藏
分享

微信扫一扫

Android学习之 创建和删除桌面快捷…


1, 创建 



Java代码

Android学习之 创建和删除桌面快捷…_快捷方式

1.  
2. private void addShortcut(){   
3.    Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");   
4.           
5.    //快捷方式的名称   
6.    shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));   
7.    shortcut.putExtra("duplicate", false); //不允许重复创建   
8.           
9.    //指定当前的Activity为快捷方式启动的对象: 如 com.everest.video.VideoPlayer   
10.    //注意: ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序   
11.    ComponentName comp = new ComponentName(this.getPackageName(), "."+this.getLocalClassName());   
12.    shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));   
13.  
14.    //快捷方式的图标   
15.    ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(this, R.drawable.icon);   
16.    shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);   
17.           
18.    sendBroadcast(shortcut);   
19. }  
 
 
private void addShortcut(){
        Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
                
        //快捷方式的名称
        shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
        shortcut.putExtra("duplicate", false); //不允许重复创建
                
        //指定当前的Activity为快捷方式启动的对象: 如 com.everest.video.VideoPlayer
        //注意: ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序
        ComponentName comp = new ComponentName(this.getPackageName(), "."+this.getLocalClassName());
        shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));

        //快捷方式的图标
        ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(this, R.drawable.icon);
        shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);
                
        sendBroadcast(shortcut);
}



2, 删除



Java代码

Android学习之 创建和删除桌面快捷…_快捷方式


1.  
2. private void delShortcut(){   
3.    Intent shortcut = new Intent("com.android.launcher.action.UNINSTALL_SHORTCUT");   
4.           
5.    //快捷方式的名称   
6.    shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));   
7.           
8.    //指定当前的Activity为快捷方式启动的对象: 如 com.everest.video.VideoPlayer   
9.    //注意: ComponentName的第二个参数必须是完整的类名(包名+类名),否则无法删除快捷方式   
10.    String appClass = this.getPackageName() + "." +this.getLocalClassName();   
11.    ComponentName comp = new ComponentName(this.getPackageName(), appClass);   
12.    shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));   
13.           
14.    sendBroadcast(shortcut);   
15.           
16. }  
 
 
private void delShortcut(){
        Intent shortcut = new Intent("com.android.launcher.action.UNINSTALL_SHORTCUT");
                
        //快捷方式的名称
        shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
                
        //指定当前的Activity为快捷方式启动的对象: 如 com.everest.video.VideoPlayer
        //注意: ComponentName的第二个参数必须是完整的类名(包名+类名),否则无法删除快捷方式
        String appClass = this.getPackageName() + "." +this.getLocalClassName();
        ComponentName comp = new ComponentName(this.getPackageName(), appClass);
        shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));
                
        sendBroadcast(shortcut);
                
}

3, 声明权限

在AndroidManifest.xml 文件中声明 创建和删除快捷方式时声明权限




Java代码

Android学习之 创建和删除桌面快捷…_快捷方式


1. android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />   
2. android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />



举报

相关推荐

0 条评论