Categories
Android

Downlodas 之 ByUri.startDownloadByUri

很久以前写过一篇《How to Use Android Downloads Provider》,到了Android 2.2(froyo),Android 提供了更优雅的接口: public static long startDownloadByUri(Context context, String url, String cookieData, boolean showDownload, int downloadDestination, boolean allowRoaming, boolean skipIntegrityCheck, String title, String notification_package, String notification_class, String notification_extras) 当然这些接口都是hide的,做ROM系统开发的才可以直接使用,用mmm方式编译。签于这个原因,一些国内第三方电子市场直接拿Downloads组件的代码修改成自己的提供使用。代码实现在: [deli@violet frameworks]$ find . -type f -name Downloads.java ./base/core/java/android/provider/Downloads.java ./base/core/java/android/net/Downloads.java 还有 packages/providers/DownloadProvider startDownloadByUri 即这个函数很容易理解,有网友给我发email说不知道如何使用,我贴出系统升级使用的代码片段,希望对大家有帮助。 [deli@violet update]$ cat Download.java /* * Copyright […]

Categories
Android

电子市场 Google 软件精选管理器

很多手拿Android手机的人不明白这个软件是干啥的,其实,就是Market Updater,我也不明白为什么中文会叫成这样。在Broncho的时候,反编译过这个MarketUpdater.apk,以后我也不干这坏事了,把成果贴出来吧: https://github.com/lytsing/MarketUpdater 就30多行代码,它干的事情很少,监听 “com.android.vending.UPDATE_MARKET”, intent把下载后的apk url传过来,调用静默安装apk的方法。 那么,谁发 “com.android.vending.UPDATE_MARKET” 这个intent action? 当然是电子市场了: <receiver android:name=”.InitializeMarketAction$DownloadBroadcastReceiver” android:permission=”android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS” android:exported=”true”> <receiver /> 大致的InitializeMarketAction.java代码: // From Vending.apk package com.android.vending; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.Uri; public class InitializeMarketAction { public class DownloadBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { final Uri contentUri = intent.getData(); […]

Categories
Server

Sqaure 网站所使用的技术

从他们的网站的招聘信息,Quora问答社区获取到的信息,可以大致了解情况。 早期的3人团队: Jack Dorsey写服务器端(Python on Google App Engine) Tristan O’Tierney 写iPhone客户端 Jim McKelvey设计硬件。 经过一个月的努力,三个创始人做出了第一个原型。 目前跑的是: 数据库:Redis and MySQL 支付平台:Ruby on Rails, Sinatra, JRuby, MRI, and Java web: 宣传页面使用 html5,他们使用大量的js开源框架。 服务器部署在 亚马逊 CloudFront 云服务。 目前纯开发人员有大约有50人,可以从他们的开源项目看到:https://github.com/square 他们的开源代码提供了ruby代码,iPhone、Android测试框架,Android SDK,js等。 他们开发推崇TDD, Pair programming。 他们的开发理念:Rethinking,Redefining。

Categories
Android

解决电子市场 3.13版本 “您的设备与此商品不兼容”的问题

Android market: Your device is not compatible with this item 用 apktool 1.4.1 反编译Vending.apk 3.1.3版本,遇到错误,无法插入调试信息再打包重新安装。搜索反编译后的文件查找信息: 您的设备与此商品不兼容。 smali/com/android/vending/R$string.smali:.field public static final availability_restriction_hardware:I = 0x7f080191 deli@deli-laptop:~/Desktop/a/Vending$ grep 0x7f080191 * -r smali/com/google/android/finsky/activities/DetailsAvailabilityRestrictionViewBinder.smali: const v3, 0x7f080191 猜出大概代码: public bind(View view, Document document, int iconWidth, int iconRightMargin, DfeToc toc) { TextView reason = view.findViewById(R.id.restriction_reason); int restriction = document.getAvailabilityRestriction(); switch (restriction) […]

Categories
提笔就老

再见了,Broncho

进入 Broncho 不知不觉已经到了第四个年头。由于个人原因,选择在这个时候跟大家告别了,舍不得这么多年一起共事的同事,从华瀚科技到数字技术园,到方大,到照明中心,点点滴滴,见证了我们共同奋斗的岁月。 感谢 Broncho 首席架构师李先静的栽培,感谢卢芳带我进入无线通讯协议领域,感谢这一路来对我帮助、鼓励的同事(包括pre-Broncoers),最感谢的,是老魏,Broncho经营到现在,他是付出了最多的心血。曾记得,09年4月份老魏宣布放弃研发多年的Broncho 手机操作系统,转投入Android平台时的情形,我们都感到很难过。Broncho项目就像他的亲生孩子,忍心丢弃,这是需要多大的勇气与决心。值得庆幸的是,现在,Broncho已经度过了最艰难时候,也有很好的前景,我可以感到由衷的欣慰了。 很抱歉不能再跟许多朋友一起共事了;祝本公司越办越好,让我的同事们可以安居乐业。

Pages: Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 Next