Android获取桌面启动图标的位置

Android系统默认会将用户点击的“桌面图标”的位置发送给启动页MainActivity,以此来实现某些系统的过渡动画,所以在MainActivity中调用下面的代码是可以得到当前App的icon坐标的。

public class MainActivity extends AppCompatActivity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_third);
    TextView textView = findViewById(R.id.location);
    Rect rect = getIntent().getSourceBounds();
    if (null != rect) {
      textView.setText(rect.toShortString());
    }
  }
}

Android获取桌面启动图标的位置_第1张图片
这就是icon在桌面的坐标了,代表左上角和右下角位置,但是需要注意的地方是,如果不是点击icon启动的App,而是通过adb启动的,那是拿不到这个信息的,rect会返回null,所以这个需要做好判断。

你可能感兴趣的:(闲记,技术,android开发,android,移动开发)