å¦ä½è§£å³android 5.0ä¸åºç°çè¦åservice intent must be expl
æäºæ¶åæ们使ç¨Serviceçæ¶éè¦éç¨éç§å¯å¨çæ¹å¼ï¼ä½æ¯Android 5.0ä¸åºæ¥åï¼å ¶ä¸æ个ç¹æ§å°±æ¯Service Intent must be explitictï¼ä¹å°±æ¯è¯´ä»Lollipopå¼å§ï¼serviceæå¡å¿ é¡»éç¨æ¾ç¤ºæ¹å¼å¯å¨ã
èandroidæºç æ¯è¿æ ·åçï¼æºç ä½ç½®ï¼sdk/sources/android-/android/app/ContextImpl.javaï¼ï¼
private void validateServiceIntent(Intent service) {
if (service.getComponent() == null && service.getPackage() == null) {
if (getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.LOLLIPOP) {
IllegalArgumentException ex = new IllegalArgumentException(
"Service Intent must be explicit: " + service);
throw ex;
} else {
Log.w(TAG, "Implicit intents with startService are not safe: " + service
+ " " + Debug.getCallers(2, 3));
}
}
}
å¤å¶ä»£ç
æ¢ç¶ï¼æºç éæ¯è¿æ ·åçï¼é£ä¹è¿éæ两ç§è§£å³æ¹æ³ï¼
1ã设置ActionåpackageNameï¼
åè代ç å¦ä¸ï¼
Intent mIntent = new Intent();
mIntent.setAction("XXX.XXX.XXX");//ä½ å®ä¹çserviceçaction
mIntent.setPackage(getPackageName());//è¿éä½ éè¦è®¾ç½®ä½ åºç¨çå å
context.startService(mIntent);
å¤å¶ä»£ç
æ¤æ¹å¼æ¯googleå®æ¹æ¨è使ç¨ç解å³æ¹æ³ã
2ãå°éå¼å¯å¨è½¬æ¢ä¸ºæ¾ç¤ºå¯å¨ï¼
public static Intent getExplicitIntent(Context context, Intent implicitIntent) {
// Retrieve all services that can match the given intent
PackageManager pm = context.getPackageManager();
List<ResolveInfo> resolveInfo = pm.queryIntentServices(implicitIntent, 0);
// Make sure only one match was found
if (resolveInfo == null || resolveInfo.size() != 1) {
return null;
}
// Get component info and create ComponentName
ResolveInfo serviceInfo = resolveInfo.get(0);
String packageName = serviceInfo.serviceInfo.packageName;
String className = serviceInfo.serviceInfo.name;
ComponentName component = new ComponentName(packageName, className);
// Create a new intent. Use the old one for extras and such reuse
Intent explicitIntent = new Intent(implicitIntent);
// Set the component to be explicit
explicitIntent.setComponent(component);
return explicitIntent;
}
å¤å¶ä»£ç
è°ç¨æ¹å¼å¦ä¸ï¼
Intent mIntent = new Intent();
mIntent.setAction("XXX.XXX.XXX");
Intent eintent = new Intent(getExplicitIntent(mContext,mIntent));
context.startService(eintent);
Android 5.0有哪些新特性?
Android 5.0新特性及功能概览: Android 5.0,正式命名为Lollipop,码分带来了诸多革新。码分首先,码分位系统的码分加入,顺应了现代手机市场对高性能的码分禅城离顺德源码需求,无论是码分位还是位设备,都能享受到系统的码分全面支持。 ART模式在Android 5.0中成为了默认选项,码分与Dalvik模式相比,码分它显著提高了系统性能和续航能力。码分ART模式在Android 4.4中虽然已引入,码分网页大型游戏源码但在5.0中更为普及,码分体验更加流畅。码分 界面设计方面,码分全新的Material Design语言赋予了Android 5.0清新且多彩的视觉效果,动画流畅,操作体验升级。此外,对开发者来说,个新API的提供,增强了设备间的互联性和整体一致性。 实用功能方面,项目外包网站源码Android 5.0新增了电池管理模式,支持多账户登录,访客模式以及蓝牙设备解锁等,提升了设备的便捷性和安全性。用户可以在Nexus 6、Nexus 9等首批设备上体验到这些新特性,旧款Nexus 7和Nexus 可在月更新,其他厂商的设备更新时间则需等待。 总的来说,Android 5.0不仅在硬件支持和性能优化上有所突破,还通过设计和功能的ubuntu 源码编译 de更新,进一步提升了用户的使用体验,标志着Android系统向前迈进的一大步。Android 5.0 Lollipop带来哪些前所未有的设计和性能提升?
Android 5.0 Lollipop:史上最大变革的十大亮点 谷歌的Android系统在不到一年的间隔后,从KitKat跨越到了Lollipop,两次糖霜命名彰显其营销策略。Lollipop的出现无疑是Android历史上最大的革新升级。以下是其中十个关键特性: 1. Material Design风格的扁平化界面 新设计语言彻底步入扁平化时代,借鉴印刷设计元素,旨在提供纸张般的触感体验。实体隐喻理念赋予界面实体表面与边缘的质感,提升用户理解和认知。网址看vip源码动态效果则增强了整体连续性体验。 2. 设备兼容性扩展 Android Lollipop跨越设备界限,支持从智能手机到智能电视、汽车等多类设备,与微软的Windows 跨平台策略相呼应。 3. 现代化的通知中心 新的通知中心优化了信息呈现,突出重要事项,提供锁屏查看和即时回复功能,提升了用户交互体验。 4. ART虚拟机的性能飞跃 ART虚拟机的引入,实现跨平台编译,大幅提高内存占用和应用程序加载速度,支持位,预示着更大内存容量的未来。 5. Project Volta电池管理改进 Volta计划帮助开发者优化电池使用,提供Battery Historian和Job Scheduler API,以及Battery Saver模式,延长设备续航。 6. 最新应用程序界面 借鉴Chrome浏览器的标签式设计,第三方开发者有机会扩展应用功能,提供新颖体验。 7. 安全性的增强 包括蓝牙设备识别解锁和系统数据加密,使得恶意软件更难以侵入,保障用户信息安全。 8. 数据独立存储 设备数据独立且有迹可循,三星的Knox系统也得到支持,提供更细致的数据分类和保护。 9. 改进的搜索功能 系统更加智能,根据用户行为调整搜索结果,应用搜索提供便捷的提示和直达功能。 . 新API和功能扩展 包括蓝牙4.1、USB Audio和多人分享等,支持更多设备交互和数据共享,增强了用户体验。安卓5.0升级后有哪些已知bug影响使用?
总结:尽管Android 5.0带来了诸多革新,但随之而来的问题也不容忽视。本文将为您揭示安卓5.0已知的一些Bug,帮助您决定是否进行升级。 安卓5.0 Bug:Nexus 7视频播放问题 在Nexus 7 型号上,升级到Android 5.0后,视频播放功能出现故障。系统播放器在某些情况下会丢失视频轨道位置,导致视频播放失败。解决方法包括重启设备、进入开发者选项关闭NuPlayer,或进行出厂重置(但会丢失数据)。Google的后续更新可能是彻底解决方案。 安卓5.0 Bug:手电筒影响相机功能 原生手电筒功能虽便利,但在Android 5.0下,开启手电筒可能导致相机无法正常使用。当手电筒自动熄灭后,可能会残留进程占用相机接口,使相机调用失效。为避免此问题,应避免让手电筒长时间开启,只需在使用后手动关闭即可。 综上,Android 5.0虽然具有吸引力,但这些Bug可能对部分用户造成不便。在升级前,请权衡新特性和潜在问题。å¦ä½è¯ä»· Android 5.0
å®åçç³»ç»å¼ºå¤§ä¹å¤å¨å®çæ件管çï¼è¿ææ¯æå¾å¤æ ¼å¼ãç¾ä¸ä¸è¶³çå°±æ¯åå°åä½ç¨åºå¤ªå¤äºãè¿äºç¨åºå¨ææºæ¯æ¬¡äº®å±éå±æç½èç½çæ¶åé½ä¼è¢«æ¿æ´»å¤éãæ以å®å设å¤å¾å¡ã
2024-12-28 23:54
2024-12-28 23:43
2024-12-28 23:22
2024-12-28 22:14
2024-12-28 22:02