当前位置:首页 » 安卓系统 » android语言切换广播

android语言切换广播

发布时间: 2022-08-21 03:33:45

1. Google I/O 2016 上发布的 Android N 有哪些新特性

1.多窗口支持
在 Android N 中,我们为该平台引入了一个新的而且非常需要的多任务处理功能 — 多窗口支持。
现在,用户可以一次在屏幕上打开两个APP。
在运行 Android N 的手机和平板电脑上,用户可以并排运行两个APP,或者处于分屏模式时一个APP位于另一个APP之上。用户可以通过拖动两个APP之间的分隔线来调整APP。
在 Android TV 设备上,APP可以将自身置于画中画面模式,从而让它们可以在用户浏览或与其他APP交互时继续显示内容。如需了解详细信息,请参阅下文。
多窗口支持为您提供新的吸引用户方式,特别是在平板电脑和其他更大屏幕的设备上。您甚至可以在您的APP中启用拖放,从而使用户可以方便地将内容拖放到您的应用或从其中拖出内容—这是一个非常好的增强用户体验的方式。
向您的APP添加多窗口支持并配置多窗口显示的处理方式非常简单。例如,您可以指定您的 Activity 允许的最小尺寸,从而防止用户将 Activity 调整到该尺寸以下。您还可以为APP禁用多窗口显示,这可确保系统将仅以全屏模式显示APP。
如需了解详细信息,请参阅多窗口支持开发者文档。
2.Notification 增强功能
在 Android N 中,我们重新设计了Notification,使其更易于使用并且速度更快。部分变更包括:
- 模板更新:我们正在更新Notification模板,新强调了图片跟头像。开发者将能够充分利用新模板,只需进行少量的代码调整。
- 绑定的Notification:系统可以将消息组合在一起(例如,按消息主题)并显示组。用户可以适当地进行 Dismiss 或 Archive 等操作。如果您已实现 Android Wear 的通知,那么您已经很熟悉此模型。
- 直接回复:对于实时通信应用,Android 系统支持内联回复,以便用户可以直接在通知界面中快速回复短信。
- 自定义视图:两个新的 API 让您在通知中使用自定义视图时可以充分利用系统的风格,如Notification标题和操作。
如需了解如何实现新功能的信息,请参阅通知指南。
2.配置文件指导的 JIT/AOT 编译
在 Android N 中,我们添加了 Just in Time (JIT) 编译器,对 ART 进行代码分析,让它可以在应用运行时持续提升 Android 应用的性能。JIT 编译器对 Android 运行组件当前的 Ahead of Time (AOT) 编译器进行了补充,有助于提升运行时性能,节省存储空间,加快应用更新和系统更新速度。
配置文件指导的编译让 Android 运行组件能够根据应用的实际使用以及设备上的情况管理每个应用的 AOT/JIT 编译。例如,Android 运行组件维护每个应用的热方法的配置文件,并且可以预编译和缓存这些方法以实现最佳性能。对于应用的其他部分,在实际使用之前不会进行编译。
除提升应用的关键部分的性能外,配置文件指导的编译还有助于减少整个 RAM 占用,包括关联的二进制文件。此功能对于低内存设备非常尤其重要。
Android 运行组件在管理配置文件指导的编译时,可最大程度降低对设备电池的影响。仅当设备处于空闲状态和充电时才进行编译,从而可以通过提前执行该工作节约时间和省电。
3.快速的应用安装路径
Android 运行组件的 JIT 编译器最实际的好处之一是应用安装和系统更新的速度。即使在 Android 6.0 中需要几分钟进行优化和安装的大型应用,现在只需几秒钟就可以完成安装。系统更新也变得更快,因为省去了优化步骤。
4.瞌睡模式
Android 6.0 推出了瞌睡模式,即设备处于空闲状态时,通过推迟应用的 CPU 和网络活动以实现省电目的的系统模式,例如,设备放在桌上或抽屉里时。
现在,在 Android N 中,瞌睡模式又前进了一步,在外出时也可以省电。只要屏幕关闭了一段时间,且设备未插入电源,瞌睡模式就会对应用使用熟悉的 CPU 和网络限制。这意味着用户即使将设备放入口袋里也可以省电。

屏幕关闭片刻后,设备在使用电池时,瞌睡模式将限制网络访问,同时延迟作业和同步。在短暂的维护时间范围后,其允许应用访问网络,并执行延迟的作业/同步。打开屏幕或将设备插入电源会使设备退出瞌睡模式。
当设备再次处于静止状态时,屏幕关闭且使用电池一段时间,瞌睡模式针对 PowerManager.WakeLock,AlarmManager 警报和 GPS/Wi-Fi 扫描应用完整 CPU 和网络限制。
无论设备是否处于运动状态,将应用调整到瞌睡模式的最佳做法均相同,因此,如果您已更新应用以妥善处理瞌睡模式,则一切就绪。如果不是,请立即开始将应用调整到瞌睡模式。
5.Project Svelte:后台优化
Project Svelte 在持续改善,以最大程度减少生态系统中一系列 Android 设备中系统和应用使用的 RAM。在 Android N 中,Project Svelte 注重优化在后台中运行应用的方式。
后台处理是大多数应用的一个重要部分。处理得当,可让您实现非常棒的用户体验 — 即时、快速和情境感知。如果处理不得当,后台处理会毫无必要地消耗 RAM(和电池),同时影响其他应用的系统性能。
自 Android 5.0 发布以来,JobScheler 已成为执行后台工作的首选方式,其工作方式有利于用户。应用可以在安排作业的同时允许系统基于内存、电源和连接情况进行优化。JobScheler 可实现控制和简洁性,我们想要所有应用都使用它。
另一个非常好的选择是 GCMNetworkManager(Google Play 服务的一部分),其在旧版 Android 中提供类似的作业安排和兼容性。
我们在继续扩展 JobScheler 和 GCMNetworkManager,以符合多个用例 — 例如,在 Android N 中,现在,您可以基于内容提供程序中的更改安排后台工作。同时,我们开始弃用一些较旧的模式,这些模式会降低系统性能,特别是低内存设备的系统性能。
在 Android N 中,我们删除了三个常用隐式广播 — CONNECTIVITY_ACTION、ACTION_NEW_PICTURE 和 ACTION_NEW_VIDEO — 因为这些广播可能会一次唤醒多个应用的后台进程,同时会耗尽内存和电池。如果您的应用收到这些广播,请充分利用 N Developer Preview 以迁移到 JobScheler 和相关的 API。
如需了解详情,请查看后台优化文档。
6.Data Saver
在移动设备的整个生命周期,蜂窝数据计划的成本通常会超出设备本身的成本。对于许多用户而言,蜂窝数据是他们想要节省的昂贵资源。
Android N 推出了 Data Saver 模式,这是一项新的系统服务,有助于减少应用使用的蜂窝数据,无论是在漫游,账单周期即将结束,还是使用少量的预付费数据包。Data Saver 让用户可以控制应用使用蜂窝数据的方式,同时让开发者打开 Data Saver 时可以提供更多有效的服务。
用户在 Settings 中启用 Data Saver 且设备位于按流量计费的网络上时,系统屏蔽后台数据使用,同时指示应用在前台尽可能使用较少的数据 — 例如,通过限制用于流媒体服务的比特率、降低图片质量、延迟最佳的预缓冲等方法来实现。用户可以将特定应用加入白名单以允许后台按流量的数据使用,即使在打开 Data Saver 时也是如此。

Android N 继承了 ConnectivityManager,以便为应用检索用户的 Data Saver 首选项并监控首选项变更提供一种方式。所有应用均应检查用户是否已启用 Data Saver 并努力限制前台和后台数据的使用。
7.快速设置Tile API
“快速设置”通常用于直接从通知栏显示关键设置和操作,非常简单。在 Android N 中,我们已扩展“快速设置”的范围,使其更加有用更方便。
我们为额外的“快速设置”Tile添加了更多空间,用户可以通过向左或向右滑动跨分页的显示区域访问它们。我们还让用户可以控制显示哪些“快速设置”Tile以及显示的位置 — 用户可以通过拖放Tile来添加或移动Tile。
对于开发者,Android N 还添加了一个新的 API,从而让您可以定义自己的“快速设置”Tile,使用户可以轻松访问您应用中的关键控件和操作。
对于急需或频繁使用的控件和操作,保留“快速设置”Tile,且不应将其用作启动应用的快捷方式。
定义Tile后,您可以将它们显示给用户,用户可通过拖放将Tile添加到“快速设置”。

如需创建应用Tile的更多信息,请参阅可下载的 API 参考中的 android.service.quicksettings.Tile。
8.号码屏蔽
Android N 现在支持在平台中进行号码屏蔽,提供框架 API,让服务提供商可以维护屏蔽的号码列表。默认短信应用、默认手机应用和提供商应用可以对屏蔽的号码列表进行读取和写入操作。其他应用则无法访问此列表。
通过使号码屏蔽成为平台的标准功能,Android 为应用提供一致的方式来支持广泛的设备上的号码屏蔽。应用可以利用的其他优势包括:
- 还会屏蔽已屏蔽的来电号码发出的短信
- 通过 Backup & Restore(备份和还原)功能可以跨重置和设备保留屏蔽的号码
- 多个应用可以使用相同的屏蔽号码列表
此外,通过 Android 的运营商应用集成表示运营商可以读取设备上屏蔽的号码列表,并为用户执行服务端屏蔽,以阻止不需要的来电和短信通过任何介质(如 VOIP 端点或转接电话)到达用户。
如需了解详细信息,请参阅可下载的 API 参考中的 android.provider.BlockedNumberContract。
9.来电过滤
Android N 允许默认的手机应用过滤来电。手机应用执行此操作的方式是实现新的 CallScreeningService,该方法允许手机应用基于来电的 Call.Details 执行大量操作,例如:
- 拒绝来电
- 不允许来电到达呼叫日志
- 不向用户显示来电通知
如需了解详细信息,请参阅可下载的 API 参考中的 android.telecom.CallScreeningService。
10.多区域设置支持、多语言
Android N 现在允许用户在设置中选择多个区域设置,以更好地支持双语用例。应用可以使用新的 API 获取用户选择的区域设置,然后为多区域设置用户提供更成熟的用户体验 — 如以多个语言显示搜索结果,并且不会以用户了解的语言翻译网页。
除多区域设置支持外,Android N 还扩展了用户可用的语言范围。它针对常用语言提供超过 25 种的变体,如英语、西班牙语、法语和阿拉伯语。它还针对 100 多种新语言添加了部分支持。
应用可以通过调用 LocaleList.GetDefault() 获取用户设置的区域设置列表。为支持扩展的区域设置数量,Android N 正在改变其解析资源的方式。请务必使用新的资源解析逻辑测试和验证您的应用是否能如期运行。
如需有关新资源解析行为和应遵循的最佳做法的更多信息,请参阅多语言支持。
11.Android 中的 ICU4J API
Android N 目前在 Android 框架(位于 android.icu 软件包下)中提供 ICU4J API 的子集。迁移很简单,主要是需要从 com.java.icu 命名空间更改为 android.icu。如果您已在您的应用中使用 ICU4J 捆绑包,切换到 Android 框架中提供的 android.icu API 可以大量节省 APK 大小。
如果要了解有关 Android ICU4J API 的更多信息,请参阅 ICU4J 支持。
12.OpenGL™ ES 3.2 API
Android N 添加了框架接口和对 OpenGL ES 3.2 的平台支持,包括:
- 来自 Android 扩展包 (AEP) 的所有扩展(EXT_texture_sRGB_decode 除外)。
- 针对 HDR 的浮点帧缓冲和延迟着色。
- BaseVertex 绘图调用可实现更好的批处理和流媒体服务。
- 强大的缓冲区访问控制可减少 WebGL 开销。
Android N 上适用于 OpenGL ES 3.2 的框架 API 与 GLES32 类一起提供。使用 OpenGL ES 3.2 时,请务必通过 标记和 android:glEsVersion 属性在您的清单文件中声明要求。
如需了解有关使用 OpenGL ES 的信息,包括如何在运行时检查设备支持的 OpenGL ES 版本,请参阅 OpenGL ES API 指南。
13.Android TV 录制
Android N 通过新的录制 API 添加了从 Android TV 输入服务录制和播放内容的功能。构建在现有时移 API 之上,TV 输入服务可以控制能够录制的渠道数据、保存录制的会话的方式,同时可通过录制的内容管理用户交互。
如需了解详细信息,请参阅 Android TV 录制 API。
14.Android for Work
Android for Work 针对运行 Android N 的设备添加了许多新功能和 API。部分重要内容如下— 有关与 Android N 相关的 Android for Work 更新的完整列表,请参阅 Android for Work 变更。
15.关闭工作
在具有托管配置文件的设备上,用户可以切换工作模式。工作模式关闭时,管理的用户临时关闭,其禁用托管配置文件应用、后台同步和通知。这包括配置文件所有者应用。关闭工作模式时,系统显示永久状态图标,以提醒用户他们无法启动工作应用。启动器指示该工作应用和小组件无法访问。
16.Always on VPN
设备所有者和配置文件所有者可以确保工作应用始终通过指定的 VPN 连接。系统在设备启动后自动启动该 VPN。
新的 DevicePolicyManager 方法为 setAlwaysOnVpnPackage() 和 getAlwaysOnVpnPackage()。
由于 VPN 服务无需应用交互即可由系统直接绑定,因此,VPN 客户端必须针对 Always on VPN 处理新的入口点。和以前一样,由与操作匹配的 Intent 过滤器将服务指示给系统。android.net.VpnService。
用户还可以使用 Settings>More>Vpn 在主要用户中手动设置实现 VPNService 方法的 Always on VPN 客户端。
17.辅助工具增强功能
Android N 现在针对新的设备设置直接在欢迎屏幕上提供“Vision Settings”。这使用户可以更容易发现和配置他们设备上的辅助工具功能,包括放大手势、字体大小、显示屏尺寸和 TalkBack。
随着这些辅助工具功能更为突出,在启用这些功能后,您的用户更可能试用您的应用。请务必提前启用这些设置测试您的应用。您可以通过 Settings > Accessibility 启用它们。
还是在 Android N 中,辅助工具服务现在可以帮助具有动作障碍的用户触摸屏幕。全新的 API 允许使用人脸追踪、眼球追踪、点扫描等功能构建服务,以满足这些用户的需求。
如需了解详细信息,请参阅可下载的 API 参考 中的 android.accessibilityservice.GestureDescription
18.直接启动
直接启动可以缩短设备启动时间,让注册的应用具有有限的功能,即使在意外重启后。例如,如果当用户睡觉时加密的设备重启,那么注册的警报、消息和来电现在可以和往常一样继续通知用户。这也意味着重启后辅助工具服务会立即可用。
在 Android N 中,直接启动充分利用基于文件的加密,以针对系统和应用数据启用细化的加密策略。为系统和应用数据。系统针对选定的系统数据和显式注册的应用数据使用设备加密的存储。默认情况下,凭据加密的存储可用于所有其他系统数据、用户数据、应用及应用数据。
启动时,系统在受限的模式中启动,仅访问设备加密的数据,不会对应用或数据进行常规访问。如果您有想要在此模式下运行的组件,您可以通过在清单文件中设置标记注册它们。重启后,系统通过广播 LOCKED_BOOT_COMPLETED Intent 激活注册的组件。系统确保注册的设备加密的应用数据在解锁前可用。所有其他数据在用户确认锁定屏幕凭据进行解密前均不可用。
如需了解详细信息,请参阅直接启动。
19.密钥认证
使用硬件支持的密钥库,可更安全地在 Android 设备上创建、存储和使用加密密钥。它们可保护密钥免受 Linux 内核、潜在的 Android 漏洞的攻击,也可防止从已取得 root 权限的设备提取密钥。
为了让硬件支持的密钥库使用起来更简单和更安全,Android N 引入了密钥认证。应用和关闭的设备可使用密钥认证以坚决地确定 RSA 或 EC 密钥对是否受硬件支持、密钥对的属性如何,以及其使用和有效性有何限制。
应用和关闭的设备服务可以通过 X.509 认证证书(必须由有效的认证密钥签署)请求有关密钥对的信息。认证密钥是一个 ECDSA 签署密钥,其在出厂时被注入设备的硬件支持的密钥库。因此,有效的认证密钥签署的认证证书可确认硬件支持的密钥库是否存在,以及该密钥库中密钥对的详细信息。
为确保设备使用安全的官方 Android 出厂映像,密钥认证要求设备 bootloader 向可信执行环境 (TEE) 提供以下信息:
设备上安装的操作系统版本和补丁级别
验证的启动公钥和锁定状态。
如需了解有关硬件支持的密钥库功能的详细信息,请参阅硬件支持的密钥库指南。
除密钥认证外,Android N 还推出了指纹绑定密钥,在指纹注册时不会撤销。
20.网络安全性配置
在 Android N 中,通过使用说明性网络安全性配置(而不是使用传统的易出错的编程 API(例如,X509TrustManager)),应用可以安全地自定义其安全(HTTPS、TLS)连接的行为,无需任何代码修改。
支持的功能:
自定义信任锚。让应用可以针对其安全连接自定义哪些证书颁发机构 (CA) 受信任。例如,信任特定的自签署证书或受限的公共 CA 集。
仅调试重写。让应用开发者可以安全调试其应用的安全连接,而不会增加安装基础的风险。
明文流量退出。让应用可以防止自身意外使用明文流量。
固定证书。这是一项高级功能,让应用可以针对安全连接限制哪些服务器密钥受信任。
如需了解详细信息,请参阅网络安全性配置。

2. 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。

3. 安卓手机怎么语言转换

手机语言切换的步骤如下:

1、选择手机菜单中的“设置 (Settings)”选项。

2、选择设置菜单中的“语言和键盘 (Language和 keyboard) ”选项。

4. android应用内怎么设置语言切换

1.在工程res文件下添加对应语种的values文件,ar:阿拉伯语, en:英语 zh_rCN: 简体中文
截图如下:

2 .在功能清单文件中对要进行切换acitivity 进行配置添加

android:configChanges="locale"

3.对语言选择的处理

public class MainActivity extends Activity {

Context context = MainActivity.this;;
int languageId;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
read();//设置
setContentView(R.layout.main);

findViewById(R.id.btn_change).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
save();
}
});
}

//保存
private void save() {
String[] languages = { "默认", "CN", "EN" };
AlertDialog.Builder builder = new AlertDialog.Builder(context,
android.R.style.Animation_Dialog);
builder.setTitle("选择语言");
final SharedPreferences languagePre = context.getSharedPreferences(
"language_choice", context.MODE_PRIVATE);
final int id = languagePre.getInt("id", 0);
builder.setSingleChoiceItems(languages, id,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int index) {
switch (index) {
case 0:
// 系统默认语言
languageId = 0;
break;
case 1:
// 简体中文
languageId = 1;
break;
case 2:
// 英语
languageId = 2;

break;
case 3:
// 阿拉伯语
languageId = 3;

break;
default:
break;
}
languagePre.edit().putInt("id", languageId).commit();
}
});
// 保存
builder.setPositiveButton("保存", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
((Activity) context).finish();
Intent intent = new Intent();
intent.setClass(context, MainActivity.class);
context.startActivity(intent);
}
});
builder.show();
}
//读取
private void read() {
SharedPreferences languagePre = getSharedPreferences("language_choice",
Context.MODE_PRIVATE);
int id = languagePre.getInt("id", 0);
Log.d("MainActivity", "langauge_id=" + id);
Toast.makeText(context, "langauge_id=" + id, Toast.LENGTH_LONG).show();
// 应用内配置语言
Resources resources = getResources();// 获得res资源对象
Configuration config = resources.getConfiguration();// 获得设置对象
DisplayMetrics dm = resources.getDisplayMetrics();// 获得屏幕参数:主要是分辨率,像素等。
switch (id) {
case 0:
config.locale = Locale.getDefault(); // 系统默认语言
break;
case 1:
config.locale = Locale.SIMPLIFIED_CHINESE; // 简体中文
break;
case 2:
config.locale = Locale.ENGLISH; // 英文
break;
default:
config.locale = Locale.getDefault();
break;
}
resources.updateConfiguration(config, dm);
}
}

5. android广播里怎么实现Intent页面跳转 广播接收到信息就跳转

Android广播机制指的是,在一个应用程序运行的时候可以自定义一个消息类型,让相应的接收器去处理这个消息或者是系统消息,比如来电话了、来短信了、手机没电了等等系统发送的消息。系统发送的消息也可以通过广播的方式通知给应用程序,这样子就避免了新开一个Thread去监听系统或其他应用发送过来的消息的状态。

Android广播的分类:
1、 普通广播:这种广播可以依次传递给各个处理器去处理
2、 有序广播:这种广播在处理器端的处理顺序是按照处理器的不同优先级来区分的,高优先级的处理器会优先截获这个消息,并且可以将这个消息删除
3、 粘性消息:粘性消息在发送后就一直存在于系统的消息容器里面,等待对应的处理器去处理,如果暂时没有处理器处理这个消息则一直在消息容器里面处于等待状态。
注意:普通广播和粘性消息不同被截获,而有序广播是可以被截获的

处理器的注册:
1、 在代码中用函数代码动态的方式注册。动态注册的处理器必须用代码动态的销毁,每次用来处理消息的就一个实例对象
2、 在配置文件里面静态注册,静态注册有个特点,那就是一旦注册就会一直存在于系统里面,无论应用是否关闭或开关机。(简直就是一个流氓软件病毒啊~)。静态注册每次有处理消息就由系统new一个处理器处理,并销毁
下面具体看看Android广播消息的发送、注册、处理过程:
① 自定义处理器类:

public class MyBroadcastReceiver4 extends BroadcastReceiver {
public MyBroadcastReceiver4() {
System.out.println("创建了一个由registerReceiver()注册的广播接收器");
}

@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
System.out.println("MyBroadcastReceiver4收到了一个" + action + "消息");
if (isOrderedBroadcast()) {
System.out.println("这是一个有序广播,已经被拦截了。");
this.abortBroadcast();
} else {
System.out.println("这不是一个有序广播");
}

Bundle bundle = intent.getExtras();
if (bundle != null) {
System.out.println("该消息携带的数据如下:");
// 获得bundle的一个key的集合
Set set = bundle.keySet();
// 获得上述集合的迭代器
Iterator iterator = set.iterator();
// 用迭代器遍历集合
while (iterator.hasNext()) {
// 取得集合中的一个内容
String str = (String) iterator.next();
// 取得Bundle中的内容
System.out.println(str + "--->" + bundle.get(str));
}
} else {
System.out.println("该消息没有携带数据");
}

Toast toast = Toast.makeText(context, "MyBroadcastReceiver4收到了一个"
+ action + "消息", Toast.LENGTH_LONG);
toast.show();
//将这个消息截获(从消息容器移除)这样其他处理器就没法接收到这个消息
this.abortBroadcast();
}
}
而界面的转跳
Intent intent = new Intent(context,目标Activity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent );

提示: context 是在广播接收者的
public void onReceive(Context context, Intent intent) 方法中获取的

6. 如何实现Android切换系统语言功能

如果想获取手机的当前系统语言,可以通过Locale类获取,主要方法:Locale.getDefault().getLanguage(),返回的是es或者zh;通过Locale.getDefault().getCountry()获取当前国家或地区,返回为CN或US;如果当前手机设置为中文-中国,则使用此方法返回zh-CN,同理可得到其他语言与地区的信息。 查看原帖>>

7. android 语言切换问题

看看是不是代码里写死的,检查string文件检查value设置

8. 下载了中英双语的电影,用安卓手机怎么调语言就像VCD,可以调左声道和右声道来换语言的。安卓手机能

手机语言切换的步骤如下:

1、选择手机菜单中的“设置 (Settings)”选项。

2、选择设置菜单中的“语言和键盘 (Language和 keyboard) ”选项。

热点内容
pythonip合法性 发布:2025-01-16 04:48:52 浏览:75
锂电池用3a的充电器是什么配置 发布:2025-01-16 04:26:43 浏览:35
好配置为什么感觉打联盟不流畅 发布:2025-01-16 04:23:02 浏览:900
我的世界java编辑服务器信息 发布:2025-01-16 04:21:42 浏览:507
android拨号上网 发布:2025-01-16 04:13:25 浏览:97
安卓网络编程怎么用 发布:2025-01-16 03:04:45 浏览:899
湖南it服务器怎么样 发布:2025-01-16 03:01:01 浏览:248
图中两种配置哪个好 发布:2025-01-16 02:59:28 浏览:582
如何解开密保密码 发布:2025-01-16 02:57:44 浏览:23
中国银行查询密码是什么 发布:2025-01-16 02:33:20 浏览:796