1.android中查看是否有能够打开intent的Activity

android中查看是否有能够打开intent的Activity方式有三种(如果没有打开intent的Activity,会报错ActivityNotFound)

  1. intent的resolveActivity
  2. packagemanager的resolveActivity
  3. packagemanager的queryIntentActivities

区别:
resolveActivity返回最佳匹配的一个Activity
queryIntentActivities返回匹配的所有Activity List

具体使用代码如下

b=(Button) findViewById(R.id.to2);
b.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent();intent.setAction("com.chj.a");
//              intent.setDataAndType(Uri.parse("content://xxx"), "text/plain");if(null != intent.resolveActivity(getPackageManager())){Log.e("chj", "target activities are: "+intent.resolveActivity(getPackageManager()));startActivity(intent);}else{Toast.makeText(MainActivity.this, "Target Activity Not Found", Toast.LENGTH_SHORT).show();}if(null != getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY)){Log.e("chj", "target activities are: "+getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY));}else{Toast.makeText(MainActivity.this, "Target Activity Not Found", Toast.LENGTH_SHORT).show();}if(getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY).size()>0){Log.e("chj", "target activities are: "+getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY));}else{Toast.makeText(MainActivity.this, "Target Activity Not Found", Toast.LENGTH_SHORT).show();}}});

2.查看Activity堆栈信息:

adb shell dumpsys activity activities
log中Running activities附近的log

3.获取进程名称

public class MyApplication extends Application{@Overridepublic void onCreate() {super.onCreate();Log.v("chj", "MyApplication onCreate "+getProcessName());}public String getProcessName(){int pid = android.os.Process.myPid();String processName = "";ActivityManager manager = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);for (ActivityManager.RunningAppProcessInfo process: manager.getRunningAppProcesses()) {if(process.pid == pid){processName = process.processName;}}return processName;}}

注意Application需要在清单文件注册android:name,否则onCreate不会执行

Android笔记 - 如何避免ActivityNotFound异常,查看Activity堆栈信息,获取进程名相关推荐

  1. Python 异常捕获打印堆栈信息

    Python 异常捕获打印堆栈信息 对于之前只接触过Java没有接触过Python的工程师而言,或多或少会有一些语法上的困惑.本文仅限小白 异常捕获语法: try:正常代码块........ exce ...

  2. jstack 工具 查看JVM堆栈信息

    1|0介绍 jstack是java虚拟机自带的一种堆栈跟踪工具.jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项&q ...

  3. 通过gdb core dump方法查看程序异常时的堆栈信息

    在Linux下可通过core文件来获取当程序异常退出(如异常信号SIGSEGV, SIGABRT等)时的堆栈信息.core dump叫做核心转储,当程序运行过程中发生异常的那一刻的一个内存快照,操作系 ...

  4. android 分析堆栈信息,分析android异常时的堆栈信息

    android framework异常时会打印如下log,分析往往无从下手: 24422 08-17 15:09:02.212 I/DEBUG   (   52): *** *** *** *** * ...

  5. java log.error_Logger.error打印错误异常的详细堆栈信息

    一.问题场景 使用Logger.error方法时只能打印出异常类型,无法打印出详细的堆栈信息,使得定位问题变得困难和不方便. 二.先放出结论 Logger类下有多个不同的error方法,根据传入参数的 ...

  6. linux查看java堆栈信息_Java运行状态分析2:获取线程堆栈信息

    Java运行状态分析2:获取线程堆栈信息 基本概念 出现内存泄漏或者运行缓慢场景,有时候无法直接从业务日志看出问题时候,需要分析jvm内存和线程堆栈 线程堆栈信息主要记录jvm线程在某时刻线程执行情况 ...

  7. JVM异常不打印堆栈信息 [ -XX:-OmitStackTraceInFastThrow ]

    一. 背景 生产环境日志突然膨胀到100G+, 为了定位问题,所以截取了部分报错日志, 问题是 堆栈信息呢? 哪里报的NPE在哪??? 信息如下: [ERROR] 2020-12-09 09:41:5 ...

  8. C++异常中的堆栈跟踪

    C++异常中的堆栈跟踪就是当程序抛出异常时,能够把抛出异常的语句所在的文件名.函数以及其它上层函数信息都打印出来. 堆栈跟踪意义重大:在实际的生产过程中,发现代码中bug要比解决bug更加费事费力,而 ...

  9. MiniDump文件的创建、分析堆栈信息、定位错误、查看异常处理信息

    1.MiniDump文件的创建: 创建miniDump的方法有很多.可以通过MiniDumpCreateDumpWin32Api创建.必要参数为EXCEPTION_POINTERS结构,获取这个结构可 ...

最新文章

  1. mysql5.6.37免安装_mysql5.6免安装配置
  2. 【chorme插件开发】第四节:html+js实现的功能插件开发实例
  3. mysql存储过程和自定义函数_MySQL存储过程/存储过程与自定义函数的区别
  4. 计算机实验报告14,计算机14实验报告模板.doc
  5. SysUtils.StrLCat
  6. matlab动力学系统仿真 教程,MATLAB/SIMULINK动力学系统建模与仿真
  7. 淡雅简洁商业汇演商业计划书PPT模板
  8. Oracle 卸载步骤详解
  9. 【DT调研】关于BIM + GIS的相关知识了解
  10. 汇编移位: SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR
  11. 20145306 信息安全系统设计基础 第五周博客总结
  12. 深度学习GPU最全对比,到底谁才是性价比之王?
  13. css样式后面显示点点点
  14. 好用到爆!IDEA 版 Postman 面世了,功能真心强大
  15. Could not retrieve mirrorlist
  16. 《Java8实战》第8章 Collection API 的增强功能
  17. 网络爬虫获取股票历史行情
  18. MySQL Error 1236处理
  19. PPT结尾只会说“谢谢”?学会这些PPT结尾,观众主动为你鼓掌
  20. STM32控制16路舵机控制板PCA9685

热门文章

  1. python提取txt中指定内容_提取视频中的音频,Python三行程序搞定!
  2. 数据库自增主键用完了怎么办
  3. CTC 解码算法之 prefix beam search
  4. Nginx反向代理之HTTP 请求头中的 X-Forwarded-For
  5. 关于状态更新时间字段取值的问题
  6. HDU 5176 The Experience of Love 带权并查集
  7. Application Request Routing (ARR) TIME OUT 502
  8. CCF201509-1 数列分段
  9. C语言课后习题(53)
  10. java flushdb_JAVA - Redis