Android Magnet:桌面删除APP自动弹出垃圾桶接受图标删除动作

在Android系统上,当用户长按桌面的图标后,会自动从底部或者顶部弹出一个垃圾或者叉子的删除图标,用户拖曳欲删除的图标至垃圾箱后,则在桌面删除该APP。

在github上一个第三方开源的项目:Magnet实现的就是上述类似功能。如图(图片来源自Magnet项目包)所示:

Magnet在github上的项目主页是:https://github.com/premnirmal/Magnet

Magnet实现相对简单,开发文档和代码例子比较易懂。Magnet给出的demo代码例子是由一个主Activity启动一个Service,主Activity启动后就finsh自己,然后由Service接管用户的拖曳删除动作。

启动Service的MainActivity:

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

public class ParanormalActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

startService(new Intent(this,MyService.class));

finish();

}

}

关键的代码章节(Service):

import android.app.Service;

import android.content.Intent;

import android.os.IBinder;

import android.util.Log;

import android.view.View;

import android.widget.ImageView;

import com.premnirmal.Magnet.IconCallback;

import com.premnirmal.Magnet.Magnet;

public class MyService extends Service implements IconCallback {

private static final String TAG = "Magnet";

private Magnet mMagnet;

@Override

public IBinder onBind(Intent intent) {

return null;

}

@Override

public void onCreate() {

super.onCreate();

ImageView iconView = new ImageView(this);

iconView.setImageResource(R.drawable.ic_launcher);

mMagnet = new Magnet.Builder(this)

.setIconView(iconView)

.setIconCallback(this)

.setRemoveIconResId(R.drawable.trash)

.setRemoveIconShadow(R.drawable.bottom_shadow)

.setShouldFlingAway(true)

.setShouldStickToWall(true)

.setRemoveIconShouldBeResponsive(true)

.build();

mMagnet.show();

}

@Override

public void onFlingAway() {

Log.i(TAG, "onFlingAway");

}

@Override

public void onMove(float x, float y) {

Log.i(TAG, "onMove(" + x + "," + y + ")");

}

@Override

public void onIconClick(View icon, float iconXPose, float iconYPose) {

Log.i(TAG, "onIconClick(..)");

mMagnet.destroy();

}

@Override

public void onIconDestroyed() {

Log.i(TAG, "onIconDestroyed()");

}

}

相关权限需要添加:

android 清理内存图标掉进垃圾桶的动画,Android Magnet:桌面删除APP自动弹出垃圾桶接受图标删除动作...相关推荐

  1. Android清理内存

    Android内存清理,利用ActivityManager获取当前正在运行的进程,清理这些进程释放内存. 可以根据importance的不同来判断前台或后台RunningAppProcessInfo ...

  2. android 清理内存图标掉进垃圾桶的动画,垃圾桶 icon 小动效

    一.步骤 1.添加背景:在时间轴面板右键---新建---纯色层 2.新建形状图层:选中矩形框---双击---新建一个画布大小的矩形,可以在矩形路径中改变其大小.圆角:想要改变其单个锚点,可以右键路径- ...

  3. android os能删掉那,安卓手机里的那些英文文件夹到底都是啥?可不可以删除?...

    原标题:安卓手机里的那些英文文件夹到底都是啥?可不可以删除? 对于使用安卓手机的强迫症患者来说,文件夹必须经常清理,尽管里面没有任何东西,也必须要彻底删除.虽然强迫症治好了,但总会不小心误删一些重要的 ...

  4. android仿微信的activity平滑水平切换动画,Android实现简单底部导航栏 Android仿微信滑动切换效果...

    Android实现简单底部导航栏 Android仿微信滑动切换效果 发布时间:2020-10-09 19:48:00 来源:脚本之家 阅读:96 作者:丶白泽 Android仿微信滑动切换最终实现效果 ...

  5. android仿微信的activity平滑水平切换动画,android仿微信的activity平滑水平切换动画...

    大家好,下面我们来探讨一下微信界面跳转的动画,简单,大方,不失华丽:overridePendingTransition(android.R.anim.slide_in_left,android.R.a ...

  6. android仿微信的activity平滑水平切换动画,Android实现平滑翻动效果

    本文实例为大家分享了Android实现平滑翻动效果的具体代码,供大家参考,具体内容如下 效果 1.activity加implements implements GestureDetector.OnGe ...

  7. 【android开发】Android防止内存溢出浅析

    近期项目做得差点儿相同了,測试出现了一些问题,当中一个就是内存溢出问题,在三星手机上測试最easy出现内存溢出,在其它手机上,比方华为就没有发生,也是比較郁闷.这个问题在之前的公司,做项目时也遇到过, ...

  8. android防止内存溢出浅析

    Android的虚拟机是基于寄存器的Dalvik,它的最大堆大小一般是16M.但是Android采用的是Java语言编写,所以在很大程度上,Android的内存机制等同于Java的内存机制,在刚开始开 ...

  9. 读者变为用户,别掉进算法的“陷阱”

    本文转载自腾讯网 网络文艺对用户几乎没有门槛,加之突出的娱乐性,吸引网民汹涌加入.新华社发(王威摄) 5G技术革新带来万物互联.万物皆媒的未来传播图景.新华社记者 王全超摄 拍摄手工艺品视频.新华社记 ...

最新文章

  1. PyTorch框架:(4)如何去构建数据
  2. 在博客以及jupyter notebook 中编写数学公式
  3. MyBatis批量插入
  4. 学计算机须知,学习计算机须知的50个专业术语
  5. DataScience:风控场景之金融评分卡模型的简介、构建(逻辑回归)开发(转评分卡)、使用过程(线上实现)之详细攻略
  6. Appium——appium之mac环境安装
  7. 正则匹配class并替换整个class为空
  8. C++中的 :: 用法
  9. mysql 主机不存在_MySQL 当记录不存在时插入,当记录存在时更新
  10. 离散数学 | ∅ 与 {∅} 出现在离散数学幂集合中
  11. 哈希存储:字符串存储、数字存储
  12. 第三单元JML地铁系统博客 By Wazaki
  13. pdfobject屏蔽头部工具栏如何兼容ie
  14. 【力扣面试】面试题 04.02. 最小高度树(就是创建二叉平衡树)
  15. 软件工程课程设计药品信息管理系统*
  16. 共青团课程华育兴业java_华育兴业|Java程序员金三银四必备面试题及答案(基础篇)...
  17. Word随手记:关于Word中大括号内的多行公式对齐问题
  18. 洛可可田浩:情感设计让产品开口说话
  19. (数位dp) 算法竞赛入门到进阶 书本题集
  20. 使用UniApp 编写APP

热门文章

  1. 系统未正确安装新的设备驱动程序后 开机总是出现“欢迎使用找到新硬件向导”...
  2. 【Linux】Linux内核空间的slab分配模式
  3. 如何从文件目录中直接进入cmd页面
  4. Java基础-ArrayList
  5. Ubuntu显示美化 优化 常用插件
  6. 北京中职学校排名有计算机专业,北京市中职学校排名前十
  7. 侠盗飞车秘籍-侠盗秘籍-飞车4飞车5密籍
  8. 从Dropbox下载。sh script后,执行cd, pwd, ls等命令会command not found解决方法
  9. 只有微型计算机使用ascii码,[转载]2012年4月网考 计算机应用基础 单选题7
  10. 【Polay定理总结】【2019华为笔试】【普通涂色问题 组合数学】召唤师的技能——圆排列,翻转和项链排列