分类: [Android基础]

android 跳转到系统设置界面的所有Intent

Intent 的 意图: Intent intent = new Inetnt(Setings); Setings: 1. ACTION_ACCESSIBILITY_SETTINGS : // 跳转系统的辅助功能界面 Intent intent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS); startActivity(intent); 2. ACTION_ADD_ACCOUNT : // 显示添加帐户创建一个新的帐户屏幕。【测试跳转到微信登录界面】 Intent intent = new Intent(Settings.ACTION_ADD_ACCOUNT); startActivity(intent); 3. ACTION_AIRPLANE_MODE_SETTINGS: // 飞行模式,无线网和网络设置界面 Intent intent = ne ......

ADT各版本下载地址

https://dl.google.com/android/ADT-23.0.7.zip https://dl.google.com/android/ADT-23.0.6.zip http://dl.google.com/android/ADT-23.0.4.zip http://dl.google.com/android/ADT-23.0.3.zip http://dl.google.com/android/ADT-23.0.2.zip http://dl.google.com/android/ADT-23.0.0.zip http://dl.google.com/android/ADT-22.6.3.zip http://dl.google.com/android/ADT-22.6.2.zip http://dl.google.com/android/ADT-22.6.1.zip http://dl.google.com/android/ADT-22.6.0.zip http://dl.google.com/android/ADT-22.3.0.zip http:// ......

Android6.0权限管理

Android 6.0动态权限管理的解决方案 官网说明: https://developer.android.com/about/versions/marshmallow/android-6.0.html Android将权限分为正常权限 和 危险权限 Android系统权限分为几个保护级别。需要了解的两个最重要保护级别是 正常权限 和 危险权限: (1)正常权限: 涵盖应用需要访问其沙盒外部数据或资源,但对用户隐私或其他应用操作风险很小的区域。 这些权限在应用安装时授予,运行时不再询问用户。例如: 网络访问、WIFI状态、音量设置等。 (2)危险权限: 涵盖应用需要涉及用户隐私信息的数据或资源,或者可能对用 ......

Android 代码混淆

eclipse混淆: project.properties文件中打开混淆配置: proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt Android混淆: buildTypes{ release{ minifyEnabled true //开启混淆同时会删除无用的资源 zipAlignEnabled true //压缩优化 shrinkResources false //移出无用资源 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt' } } 混淆规则 1.基本规则 两个常用的混淆 ......

Android Theme和解决启动黑屏

1.修改AndroidManifest.xml 设置App的全局Theme或者Activity的界面Theme <application android:allowBackup="true" android:icon="@drawable/ipod_icon" android:label="@string/app_name" android:launchMode="singleTask"> <!-- iPod主界面 --> <activity android:name="com.apical.apicalipod.IPodMainActivity"   <!-- 使用上面定义的样式 mythou--> android:theme="@style/Theme.AppStartLoad" android:label="@string/app_name" > <intent-filter& ......

Android-网络图片下载工具类-三级缓存

一、前言: 之前写过一个简单的网络图片读取工具,读取网络图片,在Android应用中经常可见,在ListView、GridView这些控件中尤其可见。而为了提高用户体验,这些控件图片的读取,一般都是采用异步加载的方式,而使用缓存则是必不可少的环节。   现在网络上已经出现了很多功能丰富、使用简单的图片下载框架,例如universalimageloader,使用只需要初始化并且传入参数即可。这里我打算自己实现一个功能简单的图片下载工具类,采取了内存缓存+磁盘缓存+网络获取的三级缓存方式。 二、思路: 三级缓存,在网上查阅过很多资料,个人所知 ......

Android权限大全

1.android.permission.WRITE_USER_DICTIONARY  允许应用程序向用户词典中写入新词 2.android.permission.WRITE_SYNC_SETTINGS  写入Google在线同步设置 3.android.permission.WRITE_SOCIAL_STREAM  读取用户的社交信息流 4.android.permission.WRITE_SMS  允许程序写短信 5.android.permission.WRITE_SETTINGS  允许程序读取或写入系统设置 6.android.permission.WRITE_SECURE_SETTINGS  允许应用程序读取或写入安全系统设置 7.android.permission.WRITE_PROFILE  允许程序写入个人资料数据 8.com.android.br ......

Android 15个流行框架

1. 缓存 DiskLruCache    Java实现基于LRU的磁盘缓存 2.图片加载 Android Universal Image Loader  一个强大的加载,缓存,展示图片的库 Picasso 一个强大的图片下载与缓存的库 Fresco  一个用于管理图像和他们使用的内存的库 Glide   一个图片加载和缓存的库 3. 图片处理 Picasso-transformations 一个为Picasso提供多种图片变换的库 Glide-transformations   一个为Glide提供多种图片变换的库 Android-gpuimage    基于OpenGL的Android过滤器 4. 网络请求 Android Async HTTP  Android异步HTTP库 AndroidAsync    异步Soc ......

Android 6.0 动态权限申请简单简洁优雅的处理方式

Android M 或以上的设备,在使用涉及隐私的安全权限时,需要动态申请,虽然不难,但写下来代码工作量也不少,而且几乎每个应用都需要用到。所以一直在探索一个要足够简单简洁优雅的处理方式,强迫症的精神指导我要拒绝一切繁琐。至于完不完美那就仁者见仁了。 一、思路: 如果在每个用到权限的地方去申请,有点繁琐,所以做法是直接在每个Activity界面显示前就把该界面所需的权限全部申请允许了,再进入正常的流程。如果有权限未被允许,开发者可以在接口中自己处理,可以直接提示并退出,或者提示权限的作用后重新发起权限申请。 ......

Android Context 上下文 你必须知道的一切

本文大多数内容翻译自:http://www.doubleencore.com/2013/06/context/  我重新组织了下内容以及结构,建议大家尽可能看下原文。 1、Context概念 其实一直想写一篇关于Context的文章,但是又怕技术不如而误人子弟,于是参考了些资料,今天准备整理下写出来,如有不足,请指出,参考资料会在醒目地方标明。 Context,相信不管是第一天开发Android,还是开发Android的各种老鸟,对于Context的使用一定不陌生~~你在加载资源、启动一个新的Activity、获取系统服务、获取内部文件(夹)路径、创建View操作时等都需要Context的参与,可见 ......

让eclipse也支持FCM(Firebase Cloud Messaging)

接入谷歌推送(Firebase Cloud Messaging),我们知道,谷歌现在只支持Android studio了,那么如果eclipse需要使用怎么办呢?好像已经被抛弃了,只能自己弄一个库了。 1、进入FCM,创建我们的测试应用,输入包名即可,然后下载google-services.json文件 2、先看看as上怎么集成fcm,然后依赖compile 'com.google.firebase:firebase-messaging:9.6.1',编写自己的FirebaseMessagingService、FirebaseInstanceIdService,在AndroidManifest.xml中加上这两个服务。最后,运行,测试,发现会报一个错误,如下 这是什么鬼,好像我们还需 ......

关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决

如标题所述,最近被重复实例化launcher activity这个问题搞得很惨,这个问题有哪些表现呢?如下: 1. 在package installers 安装界面安装完一个应用后,直接打开app,然后进入了 Activity_1, 此时再通过此activity用startActivity(intent)的方法打开 Activity_2. 2. 然后按home键返回桌面,在桌面点击app图标进入,你觉得应该进入的是 Activity_2 ,实际上却是launcher Activity_1 . 3. 然而还没完,这时候你按 back 返回键,会发现返回到了之前打开的 Activity_2,再按返回,又出现 launcherActivity_1.也就是说系统重复实例化了A ......

android 兼容所有刘海屏的方案大全

推荐: – ios兼容iphonex刘海屏解决方案 – android 兼容所有刘海屏的方案大全 – android 兼容huawei手机刘海屏解决方案 – android 兼容vivo手机刘海屏解决方案 – android兼容oppo手机刘海屏解决方案 – android兼容小米xiaomi刘海屏解决方案 – android 关于google刘海屏的解决方案 目录: 谷歌google官方提供的解决方案 小米xiaomi官方提供的解决方案 华为huawei官方提供的解决方案 vivo官方提供的解决方案 oppo官方提供的解决方案 其它手机厂商 谷歌google官方提供的解决方案 ......

Android 拦截返回键事件的实例详解

KeyEvent类 Android.View.KeyEvent类中定义了一系列的常量和方法,用来描述Android中的按键事件。 和返回键有关的常量和方法有。 KeyEvent.KEYCODE_BACK: 表示key类型为返回键 KeyEvent.ACTION_DOWN:表示事件为按下key,如果一直按住不放,则会不停产生此事件。 KeyEvent.ACTION_UP:表示事件为为放开key,一次点击key过程只会调用一次。 public final int getKeyCode():获取此事件对应的key类型。 public final int getAction():获取此事件对应的事件类型 Activity中拦截返回键 在Activity的派生类中可以通过重写onKeyDown和o ......

Android自动化测试-Monkey命令详解

四大类—— 常用选项、事件选项、约束选项、调试选项 1、常用选项 –help:打印帮助信息 -v:指定打印信息的详细级别,一个-v增加一个级别 ,默认级别为 0 。用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别。 日志级别 Level 0 缺省值,仅提供启动提示、测试完成和最终结果等少量信息 日志级别 Level 1 提供较为详细的日志,包括每个发送到Activity的事件信息 日志级别 Level 2 最详细的日志,包括了测试中选中/未选中的Activity信息 2、事件选项 -s:指定产生随机事件种子值,相同的种子值产生相同的事件 ......

常用app

apkpure 这个是用来下载第三方应用的,无需Google play 即可下载 play 商店里的各种应用 当前Activity 该款软件可显示最前台页面所在应用的包名及Activity 还有一个脚本来获取: #!/bin/sh oldActvity="" displayName="" currentActivity=`adb shell dumpsys window windows | grep -E 'mCurrentFocus'` while true do if [[ $oldActvity != $currentActivity && $currentActivity != *"=null"* ]]; then displayName=${currentActivity##* } displayName=${displayName%%\}*} ......

Android自定义View之带小圆圈的倒计时圆形进度条

文章来源:https://blog.csdn.net/xiaxiazaizai01/article/details/52415377 package com.example.customcountdownprogress; import android.animation.Animator; import android.animation.ValueAnimator; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Path; import android.graphics.RectF; import android.os.CountDownTimer; import android.os.Handler; ......

Android获取Mac地址,兼容6.0以下,6.0-7.0、7.0以上三种情况

package com.uiuno.tools.common; import java.io.BufferedReader; import java.io.FileReader; import java.io.InputStreamReader; import java.io.LineNumberReader; import java.io.Reader; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration; import android.content.Context; import android.content.pm.PackageManager; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Build; ......

Android适配——drawable和values的加载规则

Google搞了一大套 dip、sp、mdpi、hdpi、xhdpi之类的这些东西,简单说来,就是为了让我们轻松实现“与设备密度无关的视觉大小一致性”,这里需要明确的“视觉大小一致性”,就是说无论是在手机、低分辨率平板、高分辨率平板上,这个控件或者图片在物理尺寸上都是一样的。 这里我们借 @雨打萍 的一张图片来看看: (出处: http://blog.csdn.net/xiebudong/article/details/37040263) 其中,黑色和蓝色矩形的视觉大小就是一致的。 另外一个需要明确的是屏幕密度、分辨率、物理尺寸之间的关系: 以一个分辨率为1920×1200,物理尺 ......