Android笔记
来源:互联网 发布:如何优化淘宝排名 编辑:程序博客网 时间:2024/06/06 02:46
1.android中查看是否有能够打开intent的Activity
android中查看是否有能够打开intent的Activity方式有三种(如果没有打开intent的Activity,会报错ActivityNotFound)
- intent的resolveActivity
- packagemanager的resolveActivity
- packagemanager的queryIntentActivities
区别:
resolveActivity返回最佳匹配的一个Activity
queryIntentActivities返回匹配的所有Activity List
具体使用代码如下
b=(Button) findViewById(R.id.to2);b.setOnClickListener(new OnClickListener() { @Override public 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{ @Override public 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不会执行
阅读全文
0 0
- android笔记
- android笔记
- android笔记
- Android笔记
- Android笔记
- android笔记
- android 笔记
- android笔记
- Android笔记
- android笔记
- Android笔记
- Android笔记
- android笔记
- android笔记
- android笔记
- android 笔记
- android 笔记
- Android笔记
- 最大众数问题
- webpack配置的entry和output new
- 扑克牌 BZOJ
- SpringMVC返回视图
- 阻塞队列LinkedBlockingQueue源码分析
- Android笔记
- 103. Binary Tree Zigzag Level Order Traversal
- 【第八周项目4】字符串加密
- vxworks shell 调试常用命令
- 对视频压缩的小科普
- deeplearning_Optimization methods
- SQL Group by
- 【2014acm西安现场赛】A
- Python语言基础-01