android获取屏幕当前显示的activity完整路径
发表于|更新于
|总字数:25|阅读时长:1分钟|浏览量:
android获取屏幕当前显示的activity完整路径
cmd中输入adb shell "dumpsys window | grep mCurrentFocus"
文章作者: 丨小小丶
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Hexo!
相关推荐
2021-03-25
Activity的四种启动模式
Activity的启动模式可以在AndroidManifest.xml中,通过android:launchMode或者在Intent的Flag来设置实现。 standard模式 特点:Activity的默认启动模式 每启动一个Activity就会在栈顶创建一个新的实例 缺点:当Activity已经位于栈顶时,再次启动Activity时还需要创建一个新的实例,不能直接复用。 singleTop(栈顶复用)模式 特点:该模式会判断要启动的Activity实例是否位于栈顶,如果位于栈顶则直接复用,调用其onNewIntent()方法,否则创建新的实例。 缺点:如果Activity并未处于栈顶位置,则还是可能会创建多个实例。 singleTask(栈内复用)模式 特点:Activity只会在任务栈里存在一个实例。如果要激活的Activity在任务栈里已经存在,就不会创建新的Activity,而是直接复用这个已经存在的Activity,调用其onNewIntent()方法,并且清空这个Activity任务栈上的所有Activity。 singleInstance(单一实例)模...
2021-06-25
getFragmentManager()被弃用的代替方法
getFragmentManager()被弃用的代替方法 当需要管理activity或者fragment中的fragment时使用getChildFragmentManager()。 当需要本身需要与fragment关联的activity交互时使用getParentFragmentManager()。 以下为getParentFragment()方法的注释: Return the FragmentManager for interacting with fragments associated with this fragment’s activity. Note that this will be available slightly before getActivity(), during the time from when the fragment is placed in a FragmentTransaction until it is committed and attached to its activity.If this Fragment is a chil...
2021-07-17
switch自定义滑块和滑道
修改滑道(track) 在drawable文件夹下新建一个根为selector的xml,在其中设置android:state_checked=”true”和android:state_checked=”false”时的滑道状态。 如果需要做到滑块大小比滑道大,可以在滑道的形状中添加 <stroke android:width="@dimen/dp_2" android:color="@color/transparent" /> 即添加一圈颜色为透明的边框线,就可以实现看起来滑块超出滑道边界的效果 如需修改滑道的长度,需要设置 app:switchMinWidth="xxdp" 修改滑块(thumb) 同滑道一样建立selector为根的xml,可自定义颜色与大小,但最大大小不能超过滑道的大小。 在xml中使用 在SwitchMaterial中,设置滑块代码为 android:thumb="@drawable/switch_thumb_sele...
2021-06-07
Android如何判断网络状态
在Android版本6.0之前只能使用NetworkInfo获取网络状态 6.0之后NetworkInfo被弃用,应当使用Network来获取 public class NetWorkStateUtils { private final static int NO_NETWORK = 0; private final static int NETWORK_WIFI = 1; private final static int NETWORK_MOBILE = 2; public static int networkConnected(Context context) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); //Android版本在6.0之前只能使用NetworkInfo获取网络状态 if (Bu...
2021-10-10
json数据如何保存到room中
例如在LoginInfo类中有一个Data数据需要保存到room数据库中。 public static class Data implements Serializable { @PrimaryKey(autoGenerate = true) private int rowId; /** * 认证令牌 */ private String token; /** * 用户角色 */ private Role[] roles; /** * 用户属性 */ private User user; public int getRowId() { return rowId; } public void setRowId(int rowId) { this....

2021-03-26
Android线程池
Android中常见的线程池有四种,分别是FixedThreadPool、CachedThreadPool、ScheduledThreadPool、SingleThreadExecutor。 FixedThreadPool线程池是通过Executors的new FixedThreadPool方法来创建,特点是该线程池中的线程数量是固定的,即使线程处于闲置的状态,它们也不会被回收,除非线程池被关闭,当所有的线程都处于活跃状态时,新任务就处于队列中等待线程来处理。 FixedThreadPool只有核心线程,没有非核心线程 CachedThreadPool线程池是通过Executors的new CachedThreadPool来创建的它是一种线程数量不固定的线程池,它没有核心线程,只有非核心线程,当线程池中的线程都处于活跃状态,就会创建新的线程来处理新的任务,否则就会利用闲置的线程来处理新的任务。线程池中的线程都有超时机制,时长为60s,超过这个时间,闲置的线程就会被回收。这种线程池适合处理大量并且耗时较少的任务。 ScheduledThreadPool线程池是通过Executo...
