代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
Activity相关
作者:
/ 发布于
2017/2/21
/
641
package com.blankj.utilcode.utils; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.os.Build; import android.os.Bundle; import android.util.ArrayMap; import java.lang.reflect.Field; import java.util.HashMap; import java.util.List; import java.util.Map; /** * <pre> * author: Blankj * blog : http://blankj.com * time : 2016/9/23 * desc : Activity相关工具类 * </pre> */ public class ActivityUtils { private ActivityUtils() { throw new UnsupportedOperationException("u can't instantiate me..."); } /** * 判断是否存在Activity * * @param packageName 包名 * @param className activity全路径类名 * @return {@code true}: 是{@code false}: 否 */ public static boolean isActivityExists(String packageName, String className) { Intent intent = new Intent(); intent.setClassName(packageName, className); return !(Utils.getContext().getPackageManager().resolveActivity(intent, 0) == null || intent.resolveActivity(Utils.getContext().getPackageManager()) == null || Utils.getContext().getPackageManager().queryIntentActivities(intent, 0).size() == 0); } /** * 打开Activity * * @param packageName 包名 * @param className 全类名 */ public static void launchActivity(String packageName, String className) { launchActivity(packageName, className, null); } /** * 打开Activity * * @param packageName 包名 * @param className 全类名 * @param bundle bundle */ public static void launchActivity(String packageName, String className, Bundle bundle) { Utils.getContext().startActivity(IntentUtils.getComponentIntent(packageName, className, bundle)); } /** * 获取launcher activity * * @param packageName 包名 * @return launcher activity */ public static String getLauncherActivity(String packageName) { Intent intent = new Intent(Intent.ACTION_MAIN, null); intent.addCategory(Intent.CATEGORY_LAUNCHER); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); PackageManager pm = Utils.getContext().getPackageManager(); List<ResolveInfo> infos = pm.queryIntentActivities(intent, 0); for (ResolveInfo info : infos) { if (info.activityInfo.packageName.equals(packageName)) { return info.activityInfo.name; } } return "no " + packageName; } /** * 获取栈顶Activity * * @return 栈顶Activity */ public static Activity getTopActivity() { try { Class activityThreadClass = Class.forName("android.app.ActivityThread"); Object activityThread = activityThreadClass.getMethod("currentActivityThread").invoke(null); Field activitiesField = activityThreadClass.getDeclaredField("mActivities"); activitiesField.setAccessible(true); Map activities = null; if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { activities = (HashMap) activitiesField.get(activityThread); } else { activities = (ArrayMap) activitiesField.get(activityThread); } for (Object activityRecord : activities.values()) { Class activityRecordClass = activityRecord.getClass(); Field pausedField = activityRecordClass.getDeclaredField("paused"); pausedField.setAccessible(true); if (!pausedField.getBoolean(activityRecord)) { Field activityField = activityRecordClass.getDeclaredField("activity"); activityField.setAccessible(true); return (Activity) activityField.get(activityRecord); } } } catch (Exception e) { e.printStackTrace(); } return null; } }
试试其它关键字
Activity相关
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
贡献的其它代码
Label
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3