精华内容
下载资源
问答
  • 动态更换App图标这件事,在用户里总是存在需求的:有些用户喜欢“美化”自己手机。至于用户们喜欢美化到什么程度,这得看个人需求。有的用户想定制个性的App图标,那么各大iPhone论坛里都有方法可以不越狱更改App...

    原文

    动态更换App图标这件事,在用户里总是存在需求的:有些用户喜欢“美化”自己的手机。至于用户们喜欢美化到什么程度,这得看个人需求。有的用户想定制个性的App图标,那么各大iPhone论坛里都有方法可以不越狱更改App图标;有的用户想让App图标“动”起来(如系统应用时钟),那么不越个狱还真不好办。
    不过今天我们想谈谈苹果官方对于动态更换App图标的支持。
    本系列文章
        iOS动态更换App图标(一):基础使用
        iOS动态更换App图标(二):无弹框更换App图标
        iOS动态更换App图标(三):动态下载App图标进行更换
    Demo演示

    696588-03a2cedefec2fd40.gif

    DynamicAppIconDemo1
    Demo地址:https://github.com/maybeisyi/ChangeAppIconDemo
    本篇文章对应工程为:DynamicAppIcon(一)
    Demo中可以看到,在不重新安装App的情况下,可以实现更新App的图标。但是会弹出一个提示,告知用户当前图标已更换,当然下一篇文章将会突破这个“限制”。
    该功能应用的场景
    1、白天/夜间模式切换,在切换App主色调同时切换App图标。
    2、各类皮肤主题(淘宝就可换肤),附带App图标一块更换。
    3、利用App图标表达某种特定功能,如Demo中的,提示当前天气。
    4、图标促销提示,如淘宝京东特定节日:11.11、6.18,提前更换App图标。
    当然该功能(API)当前只支持iOS10.3以上的系统,所以只能当做一项附加功能来进行使用。下面将详细讲解下如何使用代码来实现此功能。
    API与文档
    API方法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @interface UIApplication (UIAlternateApplicationIcons)
    // 如果为NO,表示当前进程不支持替换图标
    @property (readonly, nonatomic) BOOL supportsAlternateIcons NS_EXTENSION_UNAVAILABLE("Extensions may not have alternate icons") API_AVAILABLE(ios(10.3), tvos(10.2));
     
    // 传入nil代表使用主图标. 完成后的操作将会在任意的后台队列中异步执行; 如果需要更改UI,请确保在主队列中执行.
    - (void)setAlternateIconName:(nullable NSString *)alternateIconName completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler NS_EXTENSION_UNAVAILABLE("Extensions may not have alternate icons") API_AVAILABLE(ios(10.3), tvos(10.2));
     
    // 如果alternateIconName为nil,则代表当前使用的是主图标.
    @property (nullable, readonly, nonatomic) NSString *alternateIconName NS_EXTENSION_UNAVAILABLE("Extensions may not have alternate icons") API_AVAILABLE(ios(10.3), tvos(10.2));
    @end

    总共3个方法,简洁明了,不过但看这3个API,我们并不清楚alternateIconName是如何与app图标挂钩的,所以我们需要进一步翻看文档。
    文档
    shift+command+0打开文档,依次查看3个API,翻译如下:
        1.supportsAlternateIcons

    696588-6fdb895a845fef9b.png

    (翻译)只有系统允许改变你的app图标时该值才为YES。你需要在Info.plist文件中的CFBundleIcons这个键内声明可更换的app图标。
        2.alternateIconName

    696588-14ce4ef2677bc3c2.png

    (翻译)当系统展示的是你更换后的app图标时,该值即为图标名字(Info.plist中定义的图标名字)。如果展示的是主图标时,这个值为nil。
        3.setAlternateIconName:completionHandler:

    696588-89b6a032eda79dc4.png

    (翻译)alertnateIconName参数:该参数为需要更换的app图标名字,是在你的Info.plist中的CFBundleAlertnateIcons键里定义的。如果你想显示的是用CFBundlePrimaryIcon键所定义的主图标的话,就传入nil。CFBundleAlertnateIcons与CFBundlePrimaryIcon键都是在CFBundleIcons里面定义的。
    (翻译)completionHandler参数:该参数用来处理(更换)结果。当系统尝试更改app的图标后,会将结果数据通过该参数传入并执行(该执行过程是在UIKit所提供的队列执行,并非主队列)。该执行过程会携带一个参数:error。如果更换app图标成功,那么这个参数就是nil。如果更换过程中发生了错误,那么该对象会指明错误信息,并且app的图标保持不变。

    696588-8e459606f6cb182b.png

    (翻译)使用该方法改变app图标为主图标或者可更换的图标。只有在supportsAlternateIcons的返回值为YES时才能更换。
    (翻译)你必须在Info.plist文件的CFBundleIcons键里面声明可以更换的app图标(主图标和可更换图标)。如果需要获取关于可更换图标的配置信息,请查阅 Information Property List Key Reference 里面有关CFBundleIcons的描述。
    文档中反复提到了Info.plist文件与CFBundleIcons,这是Xcode6之前是用来配置App图标的老方法,后来有了更完备的Assets.scassets,配置App图标更简单与完善了。不过如今该方法再次被搬上台面,在苹果内部一定也是历经多次“撕逼”后的结果,为何苹果急于在10.3而不是11推出该API?为何苹果不使用Assets.scassets配置可变更的App图标?我们不得而知,不过相信苹果后期会对该配置方法做优化的。

    可变更App图标的配置方法
    官方配置文档

    696588-df57d6325a57fd65.png

    该配置文档的内容较多,我们挑重点罗列下(忽略tvOS部分,下同):
        1. Info.plist是个字典,假设为NSDictionary *infoPlist。
        2.CFBundleIcons是Info.plist字典里的一个键@"CFBundleIcons"。
        3.CFBundleIcons对应的value是个字典。
        4.CFBundleIcons里面能够包含的键有:CFBundlePrimaryIcon、CFBundleAlternateIcons、UINewsstandIcon。
    让我们用代码展示下这个绕口的结构:

    1
    2
    3
    4
    5
    6
    7
    8
    NSDictionary *infoPlist;
    infoPlist = @{
                   @"CFBundleIcons" : @{
                                         @"CFBundlePrimaryIcon" : xxx,
                                         @"CFBundleAlternateIcons" : xxx,
                                         @"UINewsstandIcon" : xxx
                                       }
                 };

    696588-13d237e4a886a32d.png

    这是关于CFBundleAlternateIcons的配置文档:
    其中有一句话,不仔细思考很难明白:
        In iOS, the value of the key is a dictionary. The key for each dictionary entry is the name of the alternate icon
    翻译:
        该键对应的值是字典,每个字典条目的键都是备用图标的名称。
    从这句话中无法很快理清CFBundleAlternateIcons下层的数据结构。实际上这句话表达的意思是:
        该键对应的值是字典,这个字典里的每一个键对应的又是一个个字典,而这些键都是备用图标的名称。
    让我们把剩余的重点罗列下:
        1.CFBundleAlternateIcons所对应的value是个字典(iOS中),假设为NSDictionary * alertnateIconsDic。
        2.alertnateIconsDic的键,都是备用图标的名字,假设为@"newAppIcon"和@"newAppIcon2"。
        3.@"newAppIcon"的value是个包含CFBundleIconFiles和UIPrerenderedIcon这两个键的字典。
        4.CFBundleIconFiles的value是字符串或者数组(数组内容也为字符串)。字符串的内容为各尺寸备用图标的名字。
        5.UIPrerenderedIcon的value是BOOL值。这个键值所代表的作用在iOS7之后(含iOS7)已失效,在iOS6中可渲染app图标为带高亮效果。所以这个值目前我们可以不用关心。
    让我们用代码展示下CFBundleAlternateIcons的value的结构:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    @"CFBundleAlternateIcons" : @{
                                   @"newAppIcon" : @{
                                                     @"CFBundleIconFiles" : @[
                                                                                @"newAppIcon"
                                                                             ],
                                                     @"UIPrerenderedIcon" : NO
                                                    },
                                   @"newAppIcon2" : @{
                                                     @"CFBundleIconFiles" : @[
                                                                                @"newAppIcon2"
                                                                             ],
                                                     @"UIPrerenderedIcon" : NO
                                                     }
                                 }

    实际配置文件(Info.plist)
    对照着上述的配置文档,我们实际配置完的Info.plist是这样子的:

    696588-9527c3316375d5b7.png

    当然也要拖入对应的App图标:

    696588-5927cf62ae02926a.png

    不过这里我们好像还少配置了App主图标,也就是正常情况下我们的图标。按照文档所说,我们需要在CFBundleIcons里面配置CFBundlePrimaryIcon这个主图标对应的内容,但是实际上,我们还是按照老方法,在Assets.xcassets中配置AppIcon,对应尺寸填上对应图片即可。为什么这样子就可以配置主图标呢?让我们来看看某知名电商的ipa(在AppStore上下载的包)内的Info.plist(位于Payload/XXXXXX/Info.plist):

    696588-94c6c5f926a65a42.png

    当然你也可以在你自己App打出的包内进行查看,系统其实是会将Assets.xcassets中配置的AppIcon转化为Info.plist中的CFBundlePrimaryIcon。所以我们主图标的配置方式还是与原先一样。
    其他注意事项:
    1.文件扩展名,如@2x,@3x,要么统一不写,那么系统会自动寻找合适的尺寸。要写就需要把每张icon的扩展名写上,和上图的格式一样,在本系列文章的Demo中也有一个单独的Demo示例如何添加多尺寸icon。
    2.iPad版本如果需要有更换的图标,需要在CFBundleIcons?ipad同样设置一次。

     

    转载于:https://www.cnblogs.com/deng37s/p/6876800.html

    展开全文
  • 动态更换App图标这件事,在用户里总是存在需求的:有些用户喜欢“美化”自己手机。至于用户们喜欢美化到什么程度,这得看个人需求。有的用户想定制个性的App图标,那么各大iPhone论坛里都有方法可以不越狱更改App...

    动态更换App图标这件事,在用户里总是存在需求的:有些用户喜欢“美化”自己的手机。至于用户们喜欢美化到什么程度,这得看个人需求。有的用户想定制个性的App图标,那么各大iPhone论坛里都有方法可以不越狱更改App图标;有的用户想让App图标“动”起来(如系统应用时钟),那么不越个狱还真不好办。

    不过今天我们想谈谈苹果官方对于动态更换App图标的支持。

    本系列文章

    1. iOS动态更换App图标(一):基础使用
    2. iOS动态更换App图标(二):无弹框更换App图标
    3. iOS动态更换App图标(三):动态下载App图标进行更换

    Demo演示

    DynamicAppIconDemo1

    Demo地址:github.com/maybeisyi/C…

    本篇文章对应工程为:DynamicAppIcon(一)

    Demo中可以看到,在不重新安装App的情况下,可以实现更新App的图标。但是会弹出一个提示,告知用户当前图标已更换,当然下一篇文章将会突破这个“限制”。

    该功能应用的场景

    1、白天/夜间模式切换,在切换App主色调同时切换App图标。

    2、各类皮肤主题(淘宝就可换肤),附带App图标一块更换。

    3、利用App图标表达某种特定功能,如Demo中的,提示当前天气。

    4、图标促销提示,如淘宝京东特定节日:11.11、6.18,提前更换App图标。

    当然该功能(API)当前只支持iOS10.3以上的系统,所以只能当做一项附加功能来进行使用。下面将详细讲解下如何使用代码来实现此功能。

    API与文档

    API方法

    @interface UIApplication (UIAlternateApplicationIcons)
    // 如果为NO,表示当前进程不支持替换图标
    @property (readonly, nonatomic) BOOL supportsAlternateIcons NS_EXTENSION_UNAVAILABLE("Extensions may not have alternate icons") API_AVAILABLE(ios(10.3), tvos(10.2));
    
    // 传入nil代表使用主图标. 完成后的操作将会在任意的后台队列中异步执行; 如果需要更改UI,请确保在主队列中执行.
    - (void)setAlternateIconName:(nullable NSString *)alternateIconName completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler NS_EXTENSION_UNAVAILABLE("Extensions may not have alternate icons") API_AVAILABLE(ios(10.3), tvos(10.2));
    
    // 如果alternateIconName为nil,则代表当前使用的是主图标.
    @property (nullable, readonly, nonatomic) NSString *alternateIconName NS_EXTENSION_UNAVAILABLE("Extensions may not have alternate icons") API_AVAILABLE(ios(10.3), tvos(10.2));
    @end复制代码

    总共3个方法,简洁明了,不过但看这3个API,我们并不清楚alternateIconName是如何与app图标挂钩的,所以我们需要进一步翻看文档。

    文档

    shift+command+0打开文档,依次查看3个API,翻译如下:

    1. supportsAlternateIcons

    supportsAlternateIcons Document

    (翻译)只有系统允许改变你的app图标时该值才为YES。你需要在Info.plist文件中的CFBundleIcons这个键内声明可更换的app图标。

    1. alternateIconName

    alternateIconName Document

    (翻译)当系统展示的是你更换后的app图标时,该值即为图标名字(Info.plist中定义的图标名字)。如果展示的是主图标时,这个值为nil。

    1. setAlternateIconName:completionHandler:

    setAlternateIconName Document

    (翻译)alertnateIconName参数:该参数为需要更换的app图标名字,是在你的Info.plist中的CFBundleAlertnateIcons键里定义的。如果你想显示的是用CFBundlePrimaryIcon键所定义的主图标的话,就传入nil。CFBundleAlertnateIcons与CFBundlePrimaryIcon键都是在CFBundleIcons里面定义的。

    (翻译)completionHandler参数:该参数用来处理(更换)结果。当系统尝试更改app的图标后,会将结果数据通过该参数传入并执行(该执行过程是在UIKit所提供的队列执行,并非主队列)。该执行过程会携带一个参数:error。如果更换app图标成功,那么这个参数就是nil。如果更换过程中发生了错误,那么该对象会指明错误信息,并且app的图标保持不变。

    setAlternateIconName2 Document

    (翻译)使用该方法改变app图标为主图标或者可更换的图标。只有在supportsAlternateIcons的返回值为YES时才能更换。

    (翻译)你必须在Info.plist文件的CFBundleIcons键里面声明可以更换的app图标(主图标和可更换图标)。如果需要获取关于可更换图标的配置信息,请查阅 Information Property List Key Reference 里面有关CFBundleIcons的描述。

    文档中反复提到了Info.plist文件与CFBundleIcons,这是Xcode6之前是用来配置App图标的老方法,后来有了更完备的Assets.scassets,配置App图标更简单与完善了。不过如今该方法再次被搬上台面,在苹果内部一定也是历经多次“撕逼”后的结果,为何苹果急于在10.3而不是11推出该API?为何苹果不使用Assets.scassets配置可变更的App图标?我们不得而知,不过相信苹果后期会对该配置方法做优化的。

    可变更App图标的配置方法

    官方配置文档

    CFBundleAlternateIcons1 Document

    该配置文档的内容较多,我们挑重点罗列下(忽略tvOS部分,下同):

    • Info.plist是个字典,假设为NSDictionary *infoPlist

    • CFBundleIcons是Info.plist字典里的一个@"CFBundleIcons"

    • CFBundleIcons对应的value是个字典
    • CFBundleIcons里面能够包含的键有:CFBundlePrimaryIcon、CFBundleAlternateIcons、UINewsstandIcon。

    让我们用代码展示下这个绕口的结构:

    NSDictionary *infoPlist;
    infoPlist = @{
                   @"CFBundleIcons" : @{
                                         @"CFBundlePrimaryIcon" : xxx,
                                         @"CFBundleAlternateIcons" : xxx,
                                         @"UINewsstandIcon" : xxx
                                       }
                 };复制代码

    CFBundleAlternateIcons2 Document

    这是关于CFBundleAlternateIcons的配置文档:

    其中有一句话,不仔细思考很难明白:

    In iOS, the value of the key is a dictionary. The key for each dictionary entry is the name of the alternate icon

    翻译:

    该键对应的值是字典,每个字典条目的键都是备用图标的名称。

    从这句话中无法很快理清CFBundleAlternateIcons下层的数据结构。实际上这句话表达的意思是:

    该键对应的值是字典,这个字典里的每一个键对应的又是一个个字典,而这些键都是备用图标的名称。

    让我们把剩余的重点罗列下:

    • CFBundleAlternateIcons所对应的value是个字典(iOS中),假设为NSDictionary * alertnateIconsDic
    • alertnateIconsDic的键,都是备用图标的名字,假设为@"newAppIcon"@"newAppIcon2"
    • @"newAppIcon"的value是个包含CFBundleIconFiles和UIPrerenderedIcon这两个键的字典
    • CFBundleIconFiles的value是字符串或者数组(数组内容也为字符串)。字符串的内容为各尺寸备用图标的名字。
    • UIPrerenderedIcon的value是BOOL值。这个键值所代表的作用在iOS7之后(含iOS7)已失效,在iOS6中可渲染app图标为带高亮效果。所以这个值目前我们可以不用关心。

    让我们用代码展示下CFBundleAlternateIcons的value的结构:

    @"CFBundleAlternateIcons" : @{
                                   @"newAppIcon" : @{
                                                     @"CFBundleIconFiles" : @[
                                                                                @"newAppIcon"
                                                                             ],
                                                     @"UIPrerenderedIcon" : NO
                                                    },
                                   @"newAppIcon2" : @{
                                                     @"CFBundleIconFiles" : @[
                                                                                @"newAppIcon2"
                                                                             ],
                                                     @"UIPrerenderedIcon" : NO
                                                     }
                                 }复制代码

    实际配置文件(Info.plist)

    对照着上述的配置文档,我们实际配置完的Info.plist是这样子的:

    Info.plist1

    当然也要拖入对应的App图标:

    各种天气App图标

    不过这里我们好像还少配置了App主图标,也就是正常情况下我们的图标。按照文档所说,我们需要在CFBundleIcons里面配置CFBundlePrimaryIcon这个主图标对应的内容,但是实际上,我们还是按照老方法,在Assets.xcassets中配置AppIcon,对应尺寸填上对应图片即可。为什么这样子就可以配置主图标呢?让我们来看看某知名电商的ipa(在AppStore上下载的包)内的Info.plist(位于Payload/XXXXXX/Info.plist):

    知名电商的Info.plist

    当然你也可以在你自己App打出的包内进行查看,系统其实是会将Assets.xcassets中配置的AppIcon转化为Info.plist中的CFBundlePrimaryIcon。所以我们主图标的配置方式还是与原先一样。

    其他注意事项:

    • 文件扩展名,如@2x,@3x,要么统一不写,那么系统会自动寻找合适的尺寸。要写就需要把每张icon的扩展名写上,和上图的格式一样,在本系列文章的Demo中也有一个单独的Demo示例如何添加多尺寸icon。
    • iPad版本如果需要有更换的图标,需要在CFBundleIcons〜ipad同样设置一次。

    更换图标后,如何验证iPhone上使用了多尺寸的图标?

    所有尺寸图标

    打开DynamicAppIcon(带尺寸)这个Demo。该Demo中,我们在各个尺寸的图标右上角打个”标记“,然后使用上文介绍的setAlternateIconName:completionHandler:进行图标更换。更换图标的同时,我们再做一件事:

    // 测试推送上是否使用了20尺寸的图标
    UILocalNotification *noti = [[UILocalNotification alloc] init];
    noti.fireDate = [NSDate dateWithTimeIntervalSinceNow:5];
    noti.alertBody = @"我们看看推送上面的App图标";
    [[UIApplication sharedApplication] scheduleLocalNotification:noti];复制代码

    这里我们发送了一个本地通知,一会我们就能看到通知上显示的是什么图标了:

    本地推送图标对比

    再让我们去Settings里面观察下App图标:

    设置界面图标对比

    看到图标的区别,也就说明了我们在Info.plist里面设置的多尺寸图标生效了:

    多尺寸Info.Pilst

    下一篇

    在这篇文章里,你能看到App图标在运行时被更换了,但是更换的时候会给出一个“扰人”的弹框,该弹框是苹果爸爸默认加上去的,下一篇就是告诉各位,如何反抗爸爸:去除更换App图标时的弹框。
    iOS动态更换App图标(二):无弹框更换App图标(掘金地址)

    展开全文
  • 年终将近,各大商铺都在做促销活动,这其中不乏有一些电子产品也在同步搞促销...iPhone手机的性能确定比较好,连续用两年系统仍旧很流畅,但是电池是它的硬伤,很多人更换iPhone手机都是因为电池不耐用,小郭也不例...

    年终将近,各大商铺都在做促销活动,这其中不乏有一些电子产品也在同步搞促销。忙忙碌碌一年到头,怎么着也得给自己置办几样像样的东西;小郭决定把自己的iPhone换掉;此时不少人会疑惑,iPhone手机在所有品牌中各方面的性能不是非常棒的吗?为什么还要换掉呢?

    iPhone手机的性能确定比较好,连续用两年系统仍旧很流畅,但是电池是它的硬伤,很多人更换iPhone手机都是因为电池不耐用,小郭也不例外,用了两年多的iPhone手机电池该换了,恰巧遇上年关,在经济条件不允许的情况下,小郭换了一台安卓手机。

    40f1ea16f518136d8d22db78c5563dcc.png

    起初拿到手机还是挺开心的,后来想到原来iPhone手机备忘录里面记着许多关于工作方面的事情,虽然通过iCloud云端数据可以导出,但是手机品牌不一样,不能实现一键导入,逐条导出会花费大量的时间,正在为如何将iPhone备忘录导入安卓手机便签而犯愁之时,他的同事给予了他大大的希望。

    同事给小郭推荐的是敬业签,并说这个软件是一款多端同步的便签软件,可以在Windows电脑、安卓手机、苹果手机、iPadweb网页端进行安装使用,在使用便签记录备忘时,无需备份内容,内容会自动保存在阿里云端服务器,但凡在任意一端登录同一账号,记录的内容都可以实现实时同步。

    8ccea6c93eb241bb9916d7308200fad3.png

    “这么好用的软件,岂不是解决了以后频繁更换手机,导出便签的麻烦。”小郭心里嘀咕道。随后在iPhone手机上安装了一个敬业签,然后将原来记录的内容逐条导入到敬业便签中,在安卓手机上同样安装了一个敬业便签,并登陆同一账号,没想到原来记录在iPhone备忘录的内容竟然完整的呈现了,为此小郭开心极了,并为同事竖起大拇指。

    如此方便的便签软件,真的值得给大家推广,省去以后更换手机导出便签的烦恼。如果您平常也有实用便签记录备忘的习惯,不妨将您的便签内容转移到敬业便签上。

    展开全文
  • 应用背景行业应用客户,经常需要将HOME键对应的默认Launcher(我们手机的默认桌面),替换为客户自己的APK界面。修改方法默认代码中有多个和HOME键相关的APK。查看 packages/apps路径下的APK:下面我们尝试把Dialer...

    文档说明

    本文档以SS826-CN-00(SDM450平台,Android 7)为例,说明如何修改HOME主应用,替换掉系统默认的Launcher。

    应用背景

    行业应用客户,经常需要将HOME键对应的默认Launcher(我们手机的默认桌面),替换为客户自己的APK界面。

    修改方法

    默认代码中有多个和HOME键相关的APK。

    查看 packages/apps路径下的APK:

    bdaff38a6a8ef233fa2cbcb784594b1c.png

    下面我们尝试把Dialer(电话拨号)替换系统默认Launcher3,做为HOME主应用。

    修改 packages/apps/Dialer/AndroidManifest.xml

    b357b65017865c68ab9e7f1855bff7f6.png

    修改 packages/apps/Launcher3/AndroidManifest.xml

    d98131a911953d1d918f38b4c5f1f600.png

    修改 packages/apps/SnapdragonLauncher/AndroidManifest.xml

    27457928074acbd03a7645984935bfc8.png

    重新编译烧录system.img,开机,修改后的HOME键界面如下图所示:

    f6682db7912343e9d1878f29d38fb476.png

    patch文件

    https://uploader.shimo.im/f/2aDOJA3xZogHiROX.patch?attname=AndroidManifest.patch&download

    展开全文
  • 应用背景行业应用客户,经常需要将HOME键对应的默认Launcher(我们手机的默认桌面),替换为客户自己的APK界面。修改方法默认代码中有多个和HOME键相关的APK。查看 packages/apps路径下的APK:下面我们尝试把Dialer...
  • 譬如:电脑系统账户名称,为了防止他人偷窃设置加密,锁屏状态下显示的系统名称却还是默认的Administrator(用户名),会不会感觉太俗气Out了,打算更换自己喜欢的名称或自己的英文名称,该怎么设置呢?下面数码君...
  • 前言本来想研究一加手机上的天气APP,会随着每天的天气、温度不同动态的改变APP的图标是如何实现的,但始终没有想出和查阅到相关方法,毕竟是人家自己系统APP。但是也找到了一种能动态改变图标的方法,这里做一下...
  • 手机桌面、锁屏壁纸,估计每个人都会不定时的进行更换,换成自己喜欢的爱豆或动漫,能让自己手机与众不同,又能让自己的心情愉悦。虽然说现在手机的桌面或者是锁屏壁纸系统都会不定时的进行更新,但是想要找到一款...
  • Android动态更换APP图标及名称

    万次阅读 热门讨论 2017-12-15 14:53:06
    前言本来想研究一加手机上的天气APP,会随着每天的天气、温度不同动态的改变APP的图标是如何实现的,但始终没有想出和查阅到相关方法,毕竟是人家自己系统APP。但是也找到了一种能动态改变图标的方法,这里做一下...
  • 除了适合做论坛和在线问答系统之外,博客、文章系统、商城、企业网站等,各种类型网站都可以使用,所以将来网站无论如何转型或拓展,只需要修改模板就可以实现,无需抛弃重建网站,直接更换模板就可以了。...
  • 小编算是个很喜欢换桌面壁纸的人,手机也会不定时搜图更换壁纸,有时候换个壁纸心情也会很好。接下来就给大家展示一下mac电脑如何把喜欢的图片设置成背景?希望大家都能用上自己满意的壁纸! 先发一个小编感觉炒鸡...
  • 小编算是个很喜欢换桌面壁纸的人,手机也会不定时搜图更换壁纸,有时候换个壁纸心情也会很好。接下来就给大家展示一下mac电脑如何把喜欢的图片设置成背景?希望大家都能用上自己满意的壁纸! 先发一个小编感觉炒鸡...
  • 《闹钟ONE》的第一个版本是在2012年8月发布的,那时正是大三暑假,我留在学校...那时Android系统还在起步阶段,我发现这个开放系统可以随意更换桌面启动器(Launcher),觉得自己终于有机会能推动手机,朝着科幻片中看
  • 手机中的秘密

    2008-04-12 13:55:14
    如何手机电池起死回生  当你的行动电话电池使用时间变短(记忆效应或老化)时,你是否会再买一颗电池来更换呢?  下次当你碰到这种情况时请省下你的钱,告诉你一个很有效的方法不妨试试看:  1.把电池用...
  • 内容来源果汇君 编辑整理文|晓光苹果最新发布的iOS14系统,已经允许用户将第三方电子邮件或浏览器设置为默认App。以邮件为例,更换方法...如何替换默认的邮件App在此前,iOS系统中这两个功能只能用苹果自己的Safar...
  • 苹果怎么换自定义铃声?如何自己的苹果手机换铃声这个难题困扰了很多人,...在正式更换手机铃声之前,建议大家检查自己手机上是否安装了这两款软件,安装好的话就一起跟着下面的步骤开始设置吧! 1、在自己常用的音
  • 如何自己的苹果手机换铃声这个难题困扰了很多人,在安卓手机上我们可以直接通过设置更换,但是苹果手机由于系统原因,并不能直接设置我们喜欢的歌曲成为铃声。网上很多更换铃声的方法都需要使用电脑来操作,今天教...
  • 不少消费者在各大品牌出新机的时候,就第一时间就更换自己手机,感受新机的美妙。但是在我们在更换手机时经常遇到拷贝联系人、重新下载APP、更改桌面布局、重新设置系统等繁琐的烦恼事情,有些小白甚至都不会...
  • 阿里云ECS - 重置

    2019-11-06 22:18:20
    如果你觉得自己环境搭的不满意,目前也只是刚开始,就想重置或初始化,如何操作? 1、登录阿里云 2、进入到ECS实例列表 3、先要停止你想要初始化的实例(谨慎操作),如果不停止,无法初始化 4、初始化后,在【操作...
  • 鉴于市场上用户的手机型号、种类、屏幕分辨率等参差不齐,传统方式根据主流系统分别开发相应的系统耗时又耗力,为了高效开发并节约开发项目成本,本文采用Android+HTML5相结合的方式进行移动端Web系统的设计研发工作...
  • vc++ 应用源码包_1

    热门讨论 2012-09-15 14:22:12
    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
  • vc++ 开发实例源码包

    2014-12-16 11:25:17
    注释非常详细,相信会帮助大家设计好自己的个性窗体。 C++_Primer_第4版_中文+英文 原书源码+课后习题答案。 CameraController(云界面) 实现了自绘控件,云端控制主要在CnComm类多线程串口通讯库, camerads-...
  • vc++ 应用源码包_2

    热门讨论 2012-09-15 14:27:40
    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
  • vc++ 应用源码包_6

    热门讨论 2012-09-15 14:59:46
    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
  • vc++ 应用源码包_4

    热门讨论 2012-09-15 14:38:35
    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
  • vc++ 应用源码包_3

    热门讨论 2012-09-15 14:33:15
    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
  • vc++ 应用源码包_5

    热门讨论 2012-09-15 14:45:16
    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    文件为doc版,可自行转成txt,在手机上看挺好的。 本资源来自网络,如有纰漏还请告知,如觉得还不错,请留言告知后来人,谢谢!!!!! 入门学习Linux常用必会60个命令实例详解 Linux必学的60个命令 Linux提供...

空空如也

空空如也

1 2 3 4
收藏数 76
精华内容 30
关键字:

如何自己更换手机系统