在Android中,如何判断当前是否在桌面上

作者&投稿:蒙宏 (若有异议请与网页底部的电邮联系)
~ 判断过程有三个知识点。
1.如何找出正在运行的任务。 Android系统是支持多任务的,找到所有运行的任务是关键。
2.如何找出当前正在运行的任务。虽然android是多任务的系统,但是同时在前端运行的应用只会有一个。
3.如何找出桌面。

完整代码如下:
public boolean isHome(){
homes = getHomes();
ActivityManager mActivityManager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
List<</span>RunningTaskInfo> rti = mActivityManager.getRunningTasks(1);
return homes.contains(rti.get(0).topActivity.getPackageName());
}
private List<</span>String> getHomes() {
List<</span>String> packages = new ArrayList<</span>String>();
PackageManager packageManager = ListenService.this.getPackageManager();
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
List<</span>ResolveInfo> resolveInfo = packageManager.queryIntentActivities(intent,
PackageManager.MATCH_DEFAULT_ONLY);
for(ResolveInfo info : resolveInfo){
packages.add(info.activityInfo.packageName);
System.out.println(info.activityInfo.packageName);
}
return packages;
}


Android系统中的数据存储有哪些方式
1.SharedPreferencesSharedPreferences是Android中用于保存轻量级键值对数据的工具,可以用于保存用户的首选项设置、登录信息、应用程序配置等需求。它基于XML文件实现,可以实现快速的读写操作,适合存储一些简单的数据。2.SQLite数据库SQLite是一种轻型数据库,常用于在移动设备中存储结构化数据,包括用户账户信息、...

Android分层中native是哪一层?其他层是什么?
Native层这部分常见一些本地服务和一些链接库等。这一层的一个特点就是通过C和C++语言实现。比如我们现在要执行一个复杂运算,如果通过java代码去实现,那么效率会非常低,此时可以选择通过C或C++代码去实现,然后和上层的Java代码通信(这部分在android中称为jni机制)。又比如我们的设备需要运行,那么必然...

每个Android 都应必须了解的多线程知识点~
在Android中,一个应用程序就是一个独立的集成,应用运行在一个独立的环境中,可以避免其他应用程序\/进程的干扰。当我们启动一个应用程序时,系统就会创建一个进程(该进程是从Zygote中fork出来的,有独立的ID),接着为这个进程创建一个主线程,然后就可以运行MainActivity了,应用程序的组件默认都是运行...

android开发中线程有几种状态,分别是哪些?
(一)、等待阻塞:运行的线程执行wait()方法,JVM会把该线程放入等待池中。(二)、同步阻塞:运行的线程在获取对象的同步锁时,若该同步锁被别的线程占用,则JVM会把该线程放入锁池中。(三)、其他阻塞:运行的线程执行sleep()或join()方法,或者发出了I\/O请求时,JVM会把该线程置为阻塞状态。当slee...

Android 中的“子线程”解析
Android 中线程可分为 主线程 和 子线程 两类,其中主线程也就是 UI线程 ,它的主要这作用就是运行四大组件、处理界面交互。子线程则主要是处理耗时任务,也是我们要重点分析的。 首先Java 中的各种线程在 Android 里是通用的,Android 特有的线程形态也是基于 Java 的实现的,所以有必要先简单的了解下 Java 中的线...

Android之Looper使用
Looper是Android中的一个类,用于为线程提供消息循环。在Android中,主线程已经默认开启了一个Looper,因此可以直接使用Handler来发送消息。但是对于其他线程,如果需要使用Handler来发送消息,就需要先创建一个Looper。以下是使用Looper的步骤:1. 在子线程中创建一个Looper对象,并调用Looper的prepare()方法和...

Android 中RxPermissions 的使用
Android 中RxPermissions 的使用方法详解 以请求拍照、读取位置权限为例 第一步,在module的build.gradle中的 dependencies { \/\/  RxPermissions 的使用方法详解     implementation 'com.github.tbruyelle:rxpermissions:0.10.2'    implementation 'io.reactivex.rxjava2...

如何使用 android 中的 logcat 调试程序
1,开发方式,在eclipse中的windows中的show View中的other ,然后,打开other对话框,选择android中,找到logcat即可。在状态栏或者右侧可以找到logcat的图标。2,使用方法,可以使用Log.i("exp",e.toString());这样的方式来给自己的应用大bug信息。3,然后,查看logcat中的tag,和text描述。就可以...

Android移动应用中的焦点分析
简单一点理解,在移动应用中,焦点就是当前正在处理事件的位置。在手机应用中,最有可能用到焦点的就是EditText,如果同一个界面中有多个EditText,通常情况下同一时间只有一个能够输入内容,此时,这个EditText就获取了焦点。在Android中,对焦点的设置分为两种情况,TouchMode和非TouchMode。现在的手机基本...

Android系统 WebView是什么?有什么用?
WebView是Android系统提供的一个能显示网页的系统控件,它是一个特殊的View,同时也是一个ViewGroup,可以有很多其他子View。在Android 4.4以下(不包含4.4)系统WebView底层实现是采用WebKit内核,而在Android 4.4及其以上Google采用了Chromium内核作为系统WebView的底层内核支持。在这一变化中Android提供的...

师宗县13960058410: android app开发 如何在程序中判断当前用的是哪款手机? -
荆贱倍平: android.os.Build.MODEL; 刷机以后判断失败的问题是你没法解决的,因为这是因为第三方的rom直接修改了底层的接口

师宗县13960058410: Android中判断当前处于哪个Activity -
荆贱倍平: Activity有生命周期,当前的Activity肯定会执行onResume 方法 1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态. 2.当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause...

师宗县13960058410: android 判断当前在哪个activity界面 -
荆贱倍平: 需要在哪里判断呢, Activity中, this或者context就是当前界面,如果是在service中要获取当前activity, 那就要用packageManager来判断

师宗县13960058410: Android 如何判断当前系统是否正在播放视频? -
荆贱倍平: 123456789 /** * 判断当前系统是否正在播放音乐或视频 * @param context * @return */ privatebooleanisPlay(Context context){ AudioManager audioManager = (AudioManager) context.getSystemService(AUDIO_SERVICE); returnaudioManager.isMusicActive(); }

师宗县13960058410: Android判断当前App是在前台还是在后台 -
荆贱倍平: /***判断当前应用程序处于前台还是后台** @param context* @return */ public static boolean isApplicationBroughtToBackground(final Context context) {ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_...

师宗县13960058410: android 怎么判断当前屏幕是否处在锁屏状态 -
荆贱倍平: 点一下电源键,如果屏幕还是能够显示图标什么的应该是没锁 如果有个锁屏壁纸啥的就是锁了 而且在上端会出现日期和时间排列

师宗县13960058410: Android如何判断当前窗口是Activity还是Dialog -
荆贱倍平: Activity是Android四大组件之一,而Dialog不是Android的组件,Activity用于实现一个功能性窗口,而Dialog用于做出一些提示及一些选择性操作,两者应用的场景是不同的. 在程序中把这个窗口对象获取到,通过instanceof来判断这是对象是归属于Activity还是Dialog.

师宗县13960058410: android 怎样判断是否在桌面 -
荆贱倍平: 判断过程有三个知识点. 1.如何找出正在运行的任务. Android系统是支持多任务的,找到所有运行的任务是关键. 2.如何找出当前正在运行的任务.虽然android是多任务的系统,但是同时在前端运行的应用只会有一个. 3.如何找出桌面.完...

师宗县13960058410: android中判断当前网络连接状态是wifi还是3G -
荆贱倍平: // 获取代表联网状态的NetWorkInfo对象 NetworkInfo networkInfo = connManager.getActiveNetworkInfo();// 获取当前的网络连接是否可用 if (null == networkInfo){Toast.makeText(this, "当前的网络连接不可用", Toast.LENGTH_SHORT).show...

师宗县13960058410: Android 判断当前线程是否是主线程的方法 -
荆贱倍平: 在java-mian线程中Thread.currentThread().getName() == "main"; 你可以做个android程序在主线程里获取当前线程名Thread.currentThread().getName();以后在其他线程里就获取当前线程名与之比较Thread.currentThread().getName().equals("main");

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网