前两天从Android 7.0升级到Android 8.0,今天在用 adb shell dumpsys activity | findstr "mFocusedActivity"来获取当前活跃的activity时,发现什么也没得到 后来百度得知,命令换了,应该用 adb shell dumpsys activity | findstr "mResumedActivity" 参考文章 http://www.bubuko.com/infodetail-2617171.…
前言: 上篇重点学习了Android 6.0的运行时权限,今天还是围绕着Android 6.0权限适配来总结学习,这里主要介绍一下我们公司解决Android 6.0权限适配的方案:RxJava+RxPermission.这里不再介绍Android 6.0运行时权限了,直接看下如何使用RxPermission. 权限管理相关博客: Android权限管理之Permission权限机制及使用 Android权限管理之Android 6.0运行时权限及解决办法 Android权限管理之RxPermis…
我的Android进阶之旅-->如何解决Android 5.0中出现的警告: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.xtc.kuwo.watch.MUSIC_PLAY_SERVICE (has extras) } 1.错误描述 今天在Android4.4 的小米4手机上运行我的程序的时候没有报错,而在Android 5.1的华为P7上运行我的程序的时候报了以下的错…
我的Android进阶之旅-->怎样解决Android 5.0中出现的警告: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.xtc.kuwo.watch.MUSIC_PLAY_SERVICE (has extras) } 1.错误描写叙述 今天在Android4.4 的小米4手机上执行我的程序的时候没有报错.而在Android 5.1的华为P7上执行我的程序的时候报了以下…
问题描述: 自从Android 4.0以后,开发人员是不能监听和屏蔽Home键的,对于KEYCODE_HOME,官方给出的描述如下: Home key. This key is handled by the framework and is never delivered to applications. 所以,除非修改Framework,都不能直接监听Home键了,网上有朋友说监听Log日志,但是现在按Home键是不显示Log日志的,而且不同的手机型号即使显示也不会一样. 在网上找了好多方法都…
有些时候我们使用Service的时需要采用隐私启动的方式,但是Android 5.0一出来后,其中有个特性就是Service Intent  must be explitict,也就是说从Lollipop开始,service服务必须采用显示方式启动.而android源码是这样写的(源码位置:sdk/sources/android-21/android/app/ContextImpl.java): private void validateServiceIntent(Intent service)…
在 Android 4.4 操作系统上测试混合应用时,可以直接顺利的在native模式和webview模式之间切换,但是在Android6.0 操作系统上却报NoSuchContextException 的异常, 百度了一下原因:产生问题的原因:在Android 5.0中有9个字段在引导时,但在Android 6.0中有8字段在引导时:Android 5.0USER PID PPID VSIZE RSS WCHAN PC NAMEu0_a611 23802 188 1169748 133272…
Eclipse 解决办法 libs中加入 org.apache.http.legacy.jar 上面的jar包在:**\android-sdk\platforms\android-23\optional下(需要下载android 6.0的SDK) Android Studion解决办法: android { useLibrary ‘org.apache.http.legacy‘ } 在使用android-async-http的时候我的apl 更新到了23,我的build version也是23的…
extends:http://www.eoeandroid.com/thread-568853-1-1.html 本帖最后由 469874851 于 2015-3-11 18:15 编辑 有些时候我们使用Service的时需要采用隐私启动的方式,但是Android 5.0一出来后,其中有个特性就是Service Intent  must be explitict,也就是说从Lollipop开始,service服务必须采用显示方式启动.而android源码是这样写的(源码位置:sdk/source…
本文转载自:http://www.jb51.net/article/128398.htm 这篇文章主要介绍了Android 6.0获取wifi Mac地址为02:00:00:00:00:00的解决方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下   前言: 之前项目比较旧,手机版本还比较低,还使用eclipse开发.用到了需要获取手机wifi Mac地址.使用了如下代码: // Android 6.0之前的版本可以用的方法(模拟器可以使用) private String getMacAdd…
有些时候我们使用Service的时需要采用隐私启动的方式,但是Android 5.0一出来后,其中有个特性就是Service Intent  must be explitict,也就是说从Lollipop开始,service服务必须采用显示方式启动. 而android源码是这样写的(源码位置:sdk/sources/android-21/android/app/ContextImpl.java): private void validateServiceIntent(Intent service…
Android 5.0程序运行报Service Intent must be explicit错误,原因是5.0的service必须显式调用 改成 Intent intent = new Intent(mContext, IService.class); 或者Intent intent = new Intent(): intent.setclass(xx.xx,xx.xx): 网上说的如下方式是不可行的: Intent intent = new Intent("com.xx.xx.Service…
在Android4.0系统中,创建菜单Menu,通过setIcon方法给菜单添加图标是无效的,图标没有显出来,2.3系统中是可以显示出来的.这个问题的根本原因在于4.0系统中,涉及到菜单的源码类 MenuBuilder做了改变,该类的部分源码如下: public class MenuBuilder implements Menu { ... private boolean mOptionalIconsVisible = false; .... void setOptionalIconsVisib…
Android7.0及以前版本,Configuration中的语言相当于是App的全局设置: public static void changeAppLanguage(Context context, String newLanguage){ Resources resources = context.getResources(); Configuration configuration = resources.getConfiguration(); // app locale Locale l…
在build.gradle中的android {}中加上useLibrary 'org.apache.http.legacy'…
前言: 今天还是围绕着最近面试的一个热门话题Android 6.0权限适配来总结学习,其实Android 6.0权限适配我们公司是在今年5月份才开始做,算是比较晚的吧,不过现在Android 6.0以上设备越来越多了,所以Android 6.0 权限适配是必不可少的工作,这里主要介绍一下我们公司是如何做Android 6.0权限适配的. 权限管理相关博客: Android权限管理之Permission权限机制及使用 Android权限管理之Android 6.0运行时权限及解决办法 Androi…
适用Android系统: 1) Android版本>= 5.0 2) 部分ROM是不支持 RemoteViews view=getRemoteViews(body,title, R.mipmap.ic_report_problem_red_24px, 0, date); if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.L){ notification.headsUpContentView=view; notification.vibrate= new…
Activity是Android应用的重要组成单元之一,也是Android应用最常见的组件之一.前面看到的示例通常都只包含一个Activity或一个AppCompatActivity,但在实际应用中这是不大可能的,往往都会包括多个Activity,不同的Activity 向用户呈现不同的操作界面.从本期开始将针对Activity的相关知识进行详细的学习. 一.Activity简介 Activity是Android组件中最基本也是最常用的一种组件,在一个Android应用中,一个Activity通…
快速解决设置Android 23.0以上版本对SD卡的读写权限无效的问题 转 https://www.jb51.net/article/144939.htm 今天小编就为大家分享一篇快速解决设置Android 23.0以上版本对SD卡的读写权限无效的问题,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 对Android的SD卡进行读取权限设置时: ? 1 2 <uses-permission android:name="android.permission.WRITE_EX…
如何复现 连续启动两个 Activity ,其中 Activity 1 为 不透明 的 Activity Activity 2 为 透明 的 Activity 通常用于引导页面,例如:豌豆夹锁屏引导用户开启 辅助功能 Android 4.x ~ 5.x 效果 Android 6.x 效果 产生原因 确认是 Android 6.0 的 Bug Issue 187887,该 Bug 只会在连续启动两个 Activity 时出现. 解决方案 在 Google 解决该 bug 之前,临时的解决方案 st…
一.情况描述 在eclipse或Android Studio开发时(笔者目前只用过Android Studio),设置Android SDK的编译版本为23时,且使用了httpClient相关类的库项目时:如Android-async-http时,会出现有一些类找不到的错误,或者找不到HttpClient类. 二.原因 android 6.0 (api 23)SDK,不再提供org.apache.http.*(只保留几个类). 三.解决方法 1.eclipse libs中加入 org.apach…
一.出现的情况 在eclipse或 android studio开发, 设置android SDK的编译版本为23时,且使用了httpClient相关类的库项目:如android-async-http等等,会出现有一些类找不到的错误. 二.原因 android 6.0(api 23) SDK,不再提供org.apache.http.*(只保留几个类). 三.解决方法 1.eclipse: libs中加入 org.apache.http.legacy.jar 上面的jar包在:**\android…
最近呢说要上线,就去找了下上线的方法...之前做过代码混淆,用的是progarud.cfg,但是呢自己反编译了之后还是无效,然后就丢着先不管了,因为实在不知道什么情况.今天来上线的时候结果总是报错,总是报proguard returned with error code 1.See console错误,到网上查了下情况,分为三种:情况1:Proguard returned with error code 1. See consoleError: C:/Documents (系统找不到指定文件)这…
一.写在前面 最近由于廖子尧忙于自己公司的事情和OkGo(一款专注于让网络请求更简单的网络框架) ,故让LZ 接替维护ImagePicker(一款支持单.多选.旋转和裁剪的图片选择器),也是处理了诸多bug,最近总算趋于稳定了,这里就把Android N (API 24) 以上的相机适配方案分享给大家. Android Nougat 也是被更新很久了,作为一名 Andorid 开发者,我们有义务时刻准备自己调整 targetSdkVersion 为最近的一个,于是从之前的 23 直接提高到了 2…
解决Android Studio 3.0导入module依赖后unable to merge index 项目需要使用im, 在项目里导入了腾讯im的几个module依赖, 项目无法编译, 报错unable to merge dex 网上搜索一番后发现解决方案大致分以下几种: 先clean再rebuild, 删除.gradle文件夹 clean rebuild.... 降低play-service版本, 腾讯IM demo中用的play-serivce是3.0的, 估计已经够低了 :) 依赖冲突…
虽然 Android 9.0 都已经面世了,本篇文章写的有点迟了. 但是迟到好过不到,因此基于此这边还是记录一下项目中遇到的 Android 8.0 的坑及对应解决方法. 每次系统升级,虽然系统功能更加强大了,各方面性能也提高了. 但是对于开发者而言,一个困扰的问题也是随之而来--兼容. 尤其对于一些已经上市的 App 而言,在新系统发布之前就要了解到底有哪些改动,以避免用户升级新系统后导致 App 没法正常运行. 好了,回归主题,说说 Android 8.0 里面的几个坑吧. 唤不起系统安装器…
刚上班,没有业务开发,对 App 的 Api 由 26 升级到了 27, 结果在 Android 8.0 的设备上会出现 crash . Log 如下: java java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation 经过搜索发现该问题是在 App 适配了 Api 27 ,然后运行设备是 26 的时候出现的. 查看源码(Api 27的源码),总共有两个地方会抛出来这个异…
一.写在前面 最近由于廖子尧忙于自己公司的事情和 OkGo (一款专注于让网络请求更简单的网络框架) ,故让LZ 接替维护 ImagePicker(一款支持单.多选.旋转和裁剪的图片选择器),也是处理了诸多bug,最近总算趋于稳定了,这里就把Android N (API 24) 以上的相机适配方案分享给大家. Android Nougat 也是被更新很久了,作为一名 Andorid 开发者,我们有义务时刻准备自己调整 targetSdkVersion 为最近的一个,于是从之前的 23 直接提高到…
解决方案1: android.os.FileUriExposedException: file:///storage/emulated/0/ilive/images/photophoto.jpeg exposed beyond app through ClipData.Item.getUri() 解决办法: 将下面的代码拷贝到application类里面, // android 7.0系统解决拍照的问题 StrictMode.VmPolicy.Builder builder = new Stri…
在android7.0开始试共享“file://”URI 将会导致引发 FileUriExposedException. 如果应用需要与其他应用共享私有文件,则应该使用 FileProvider, FileProvider的 getUriForFile() 方法可以产生一个文件的content URI, FLAG_GRANT_READ_URI_PERMISSION,FLAG_GRANT_WRITE_URI_PERMISSION标记可以给客户端一个指定文件的临时访问权限.下面内容将一步步介绍Fil…