android应用切换
A. android 应用切换后台,接收到消息后,自动切换到前台
目前测试有些手机 ,有更好的方案,请留言
1:在应用里面manifest文件添加必须权限
2:方法
B. 安卓4.3手机如何快速切换使用软件
你好,你说的需下载一个多窗口编辑器的,要root权限
你可以先通过连接电脑的应用宝来root一下你的手机
然后在用那个软件就可以把软件拉进去的呢,先root吧
先在电脑端打开应用宝软件,然后提示连接手机——接着连接数据线——手机设置——开发者选项——USB调试打开——显示成功连接后——成功装好驱动了。进入工具箱——点击一键root就可以了,希望采纳。
C. 安卓系统,怎么切换两个程序
你搞错了!是一个系统。
miui系统是基于安卓4.0系
统再次开发的系统吗?也就是改版安卓系统。其实质还是安卓,只是界面改动了一点而已。
D. android如何快速切换后台运行的程序
长按小房子键,会弹出后台运行的程序,点击就可以切换。
这类基础教程91很多,可以去看看。
E. android 怎么实现应用多语言切换
添加多语言文件
在不同的 value 文件夹下(例如 value 、value-en、values-zh-rTW 文件夹)添加不同语言的 string.xml 文件,我们的项目添加了英文、简体中文、繁体中文三种语言,如下图所示:
Project模式:
Android模式:
其中英文需要翻译,繁体如果没有专门翻译的话,可以找个简繁转换网站,直接将简体中文转成繁体中文,推荐一个网站:
http://www.vifo.com.cn/fanti/
下面我只讲解简体中文和英文的做法;
2.现在我们可以在activity启动里面(onCreate()或者onResume())获取系统的语言:
Locale locale = Locale.getDefault();
String language = locale.getLanguage();1212
language就是我们从系统拿到的语言,这里如果是中文,拿到的是“zh”,如果是英文是“cn”;
3.拿到了系统语言,那么我们就要通过系统语言的判断改变我们app对应的系统语言:
protected void showLanguage(String language) {
//设置应用语言类型
Resources resources = getResources();
Configuration config = resources.getConfiguration();
DisplayMetrics dm = resources.getDisplayMetrics();
if (language.equals("zh")) {
config.locale = Locale.SIMPLIFIED_CHINESE;
} else {
config.locale = Locale.ENGLISH;
}
resources.updateConfiguration(config, dm);
//保存设置语言的类型(这个里面我先保存一下,下面会讲到他的用处)
PreferenceUtil.commitString("language", language);
}
这样子,如果你的手机开始的时候系统是中文,那么你的app就是中文,如果开始的时候系统是英文,那么你的app就是英文,这个只是适用开始的时候语言就已经设定好了,但是如果你现在的app用的是中文,app没有退出的情况下,直接去把系统设置成英文,那么你返回到你的app的时候并不会是英文,依然是中文,必须在程序退出之后,再进来的时候才会成为英文,这样子的体验一点都不好,那么我们怎么样才能做到你改系统语言,我的app就跟着去改变呢,所谓的动态改变。那么我们可以这样子做。
@Override
protected void onResume() {
super.onResume();
String LAN = PreferenceUtil.getString("language","");
Locale locale = Locale.getDefault();
String language = locale.getLanguage();
Log.i("语言————————",language);
if(!language.equals("")){
if(!LAN.equals(language)){
freshView();//重新启动MainActivity
}
}
showLanguage(language);
}
private void freshView(){
Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
}2223
首先PreferenceUtil这个是我自己写的工具类,就是SharedPreferences存储,在onResume()里面,重要的就是做个判断,拿到的language是不是和之前保存系统的language一样,如果不一样,重新启动MainActivity,这样子就做到了重新获取系统language。
F. 安卓手机多应用之间如何切换
长按主屏键会出现后台运行的应用,点击就会出现在桌面。
G. android如何通过adb shell 模拟home键盘切换应用
1:查看当前模拟器或者Android设备实例的状态
一般在使用前都会使用adb devices这个命令查看一下模拟器的状态,通过这个命令得到ADB的回应信息,可以看到ADB作为回应为每个实例制定了相关的信息
1.1:emulator-5554为实例名称
1.2:device为实例连接状态,device表示此实例正与adb相连接,offline表示此实例没有与adb连接或者无法响应
2:安装和卸载APK应用程序
你可以从电脑上复制一个APK应用到模拟器或者Android设备上,通过adb install <path_to_apk>安装软件,adb uninstall <packageName>卸载软件,如果你不知道这个包名,在AndroidManifest.xml里的找package=""就可以了
2.1: 先把apk文件拷贝到sdk目录下的tools
2.2: 进入dos下切换到SDK的安装路径下的tools目录
2.3 :执行安装命令
adb install <path_to_apk>
发生的错误,因为我连接了真机,而且也打开了模拟器,所以adb给我的回应信息是“比一个多的驱动设备和模拟器”,我最后关闭掉了模拟器在运行安装命令,就提示安装成功了
卸载APK
3:从本机上复制文件到模拟器或者Android设备
adb push <本地路径><远程路径>,<本地路径>指的是自己的机器上或者模拟器上的目标文件,<远程路径>指的是远程设备实例上的目标文件
4:从模拟器复制文件到模拟器或者Android设备
adb pull <远程路径><本地路径>,<本地路径>指的是自己的机器上或者模拟器上的目标文件,<远程路径>指的是远程设备实例上的目标文件
5:使用shell命令
输入adb shell就可以进入shell命令行了,可以使用一些常用的shell命令,如:ls命令列出了文件
H. android怎么切换activity
大体思路为:
1.在Activity01中设置一个可触发的空间,并添加一个触发器
2.在Activity01的触发器添加listener
3.在listener的接口实现中,设置一个Intent,让这个Intent能够将Activity01和Activity02绑定起来,并且通过putExtra将要传输的值放到Intent对象中存储
3.listener接口实现结尾,通过Activity01启动调用这个Intent对象,通过调用来切换到Activity02
4.在Activity02中,使用getIntent来获取上下文切换中使得自己启动了的那个Intent对象实例
5.通过获取到的intent对象实例,使用起getStringExtra来获取先前putExtra的值.
当然,后面如果对Intent更加了解时,就需要按实际情况挑选更合适的存储数据及获取数据的函数了
I. Android app API环境切换需求与实现
鉴于app在打包debug ,release, dev 等环境的时候,请求后天api接口的服务器地址不一样.导致测试可能频繁的问你要不同环境的测试apk包.
当工程大到一定程度的时候,gradle打包特别的慢.即使你自己有优化过,而且测试嫌麻烦,开发也觉得麻烦.
api地址变化的应该就基地址,全部变化也有办法处理.这里把基地址用一个 public static 的 String Url 变量去装载.
1:默认 Url 地址使用release的地址.
2:release版本的apk 按照需求,启动app调转到splash界面.debug版本的apk 跳转到api选择界面,当选择好api环境后,在调转到原splash界面.
3:选择api环境的时候,去修改 这个被public static 修饰的Url
1:修改被public static 修饰的String 不是问题.
2:根据不同apk版本启动不同的界面.这个是一个问题,之前没处理过类似的需求.好在google 有提供一种解决思路 饺子 manifest merge ( 合并多个清单文件 ),就是根据这个合并算法去解决这个问题.
创建debug文件夹,新建的项目一般会有3个文件夹,一个是默认类型,一个test 类型,一个Android test类型,这里我们在创建一个debug类型的.
xml文件合并可以合并java 文件,和 资源文件.
我们这里定要创建manifest文件,这是算法配置的核心,配置就是在这里设置的,其次还有资源文件.
注意创建的时候文件格式应该和main类型的保持一致,可以将as切换到android模式下检查.
我们这里添加了一个EnvChangeActivity 和对应的布局文件.
这里我们想修改启动的界面为EnvChangeActivity.所以我们要替换点原main类型下的manifest文件中的配置.
如上设置就会把原Mainactivity中的配置全部替换成当前manifest文件中的配置.后面我们在解释这些配置.这里将EnvChangeActivity设置成了启动界面.所以完成了修改启动界面的功能.
创建一个java配置文件
可以不创在main类型下面.
在EnvChangeActivity中修改地址就好了.修改完之后在跳转到MainActivity.就原逻辑保持一致了
到这里需求的就已经说明完了.
接下来就说明合并的算法,在我们使用gradle编译打包的时候,合并工具会自动帮我们合并.
合并工具根据每个清单文件的优先级将所有清单文件按顺序合并到一个文件中。 例如,如果您有 3 个清单文件,则会先将优先级最低的清单合并到优先级第 2 高的清单中,然后再将合并后的清单合并到优先级最高的清单中
2应用模块的主清单文件
3所包括库中的清单文件 如果您有多个库,则其清单优先级与依赖顺序(库出现在 Gradle dependencies
块中的顺序)匹配。
合并工具可以在逻辑上将一个清单中的每个 XML 元素与另一个清单中的对应元素相匹配。
如果优先级较低的清单中的元素与优先级较高的清单中的任何元素均不匹配,则该元素将被添加至合并清单。 但是,如果有匹配元素,则合并工具会尝试将其中的所有属性合并到相同元素中。如果工具发现两个清单包含相同属性,但值不相同,则会出现合并冲突。
绝不会在清单之间匹配 <intent-filter>
元素。 每个元素都被视为唯一元素,并添加至合并清单中的常用父元素。
合并规则标记是一个 XML 属性,可用于表达您对关于如何解决合并冲突或删除不需要的元素和属性的首选项。 您可以对整个元素或只对元素中的特定属性应用标记。
合并两个清单文件时,合并工具会在高优先级清单文件中寻找这些标记。
所有标记均属于 Android tools 命名空间,因此您必须先在 <manifest> 元素中声明此命名空间,如下文所示:
要向整个 XML 元素(给定清单元素中的所有元素及其所有子标记)应用合并规则,请使用以下属性:
如果使用合并冲突启发式算法时没有冲突,则合并此标记中的所有属性以及所有嵌套元素。 这是元素的默认行为。
低优先级清单
高优先级清单
合并结果
低优先级清单
高优先级清单
合并结果
完全替换低优先级元素。 也就是说,如果低优先级清单中有匹配元素,请将其忽略并完全按照其在此清单中显示样子来使用该元素。
低优先级清单
高优先级清单
合并结果
其他的自己看下官网,上面的解释也是我搬过来的.
官方解释
拙劣的dome,可以瞅瞅.
Demo地址