Category: 爪机爪机
给viewflow加onclicklistener貌似不起作用,后来找到StackOverflow中类似问题,解决方案是,在imageitem的layout.xml里面加上onClick=”xxx”,然后到Activity里面写那个pubclic onXXXXClick(View v)实现
不知道还有没有别的办法了…
详见:http://www.open-open.com/lib/view/open1339581191209.html
步骤:
1.检测当前版本的信息AndroidManifest.xml–>manifest–>android:versionName。
2.从服务器获取版本号(版本号存在于xml文件中)并与当前检测到的版本进行匹配,如果不匹配,提示用户进行升级,如果匹配则进入程序主界面。
3.当提示用户进行版本升级时,如果用户点击了确定,系统将自动从服务器上下载并进行自动升级,如果点击取消将进入程序主界面。
Q:
如何在ActionBar中始终显示竖着的3个点,就是菜单键的东西。
A:
|
android UI进阶之用ViewPager实现欢迎引导页面http://blog.csdn.net/notice520/article/details/7454568
===
android 按两次返回键退出 http://blog.csdn.net/ganlijianstyle/article/details/7937015
===
http://www.androiduipatterns.com/2011/10/free-android-ui-library-component.html
===
https://github.com/johannilsson/android-pulltorefresh
===
https://github.com/pakerfeldt/android-viewflow
==
Creating a Multi Select List Preference http://mjsoftwaretechnique.blogspot.com/2013/04/creating-multi-select-list-preference.html
===
http://blog.csdn.net/wjky2014/article/details/8425202
==
[Android实例] viewflow实现类似淘宝,网易新闻的横幅banner,可循环自动播放
==
http://blog.csdn.net/sam_zhang1984/article/details/8079955
原文自:http://www.cnblogs.com/over140/archive/2013/05/22/3093284.html
感谢原作者,我都花了半天时间倒腾这个了…
=========================================
前言
今天心血来潮,又把ADT升级了一下,升级到了ADT 22,悲催的发现项目用不了了(能编译通过,运行出错)。
声明
欢迎转载,但请保留文章原始出处:)
博客园:http://www.cnblogs.com
农民伯伯: http://over140.cnblogs.com
正文
错误一:(警告)
Unable to resolve superclass of Landroid/support/v4/app/_ActionBarSherlockTrojanHorse;
(idailylife注:我这里的错误提示是app目录下的另外个东西,不过类似…)
错误二: (错误)
Activity也直接Caused by: java.lang.ClassNotFoundException
错误原因:
ADT 22中新增了Export,你会发现新增了Android Private Libraries库,默认可能Export没有选中,如图:
勾选、重新编译即可。此外还可能出现Library工程中引用的Libs编译时不会加到主工程的问题,也是这个原因造成的,选中即可。
结束
感谢晓明同学指点,自己重装两遍也没找到问题。
http://blog.dayandcarrot.net/2013/06/htc-droid-dna-wifi-ap-problem/
/system/app/WifiRounter.apk里面找到了点线索,这个程序是负责WifiAP的,但是它不掌权,还需要向一个WifiService去Request开启WiFiAP,如果不行就通过TetheringGuard.apk提示出错,然后就有了错误信息,不存在VZW UICC之类的。
一开始我以为WifiService是掌权的,里面有个CustomUtils很是可疑,但是修改之后发现没用。
之后根据Logcat找哪里出了问题,发现有错误提示说什么DENY之类的,发出log的tag叫WifiService。想了一下可能这个东西在/system/framework/services.jar里面,解包了一下果然如此。
然后就是修改过程了,里面有个方法叫
.method private setWifiApMhsRequest(ZZILandroid/net/wifi/WifiConfiguration;)Z
翻译成Java代码差不多这样(感谢Java Decompiler):
private boolean setWifiApMhsRequest(boolean paramBoolean1, boolean paramBoolean2, int paramInt, WifiConfiguration paramWifiConfiguration) { Slog.e("WifiService", "setWifiApMhsRequest enter"); boolean bool; if (SystemProperties.get("net.frisbee.enabled", "0").equals("1")) { Slog.e("WifiService", "ignore MHS for Frisbee"); setParameterMHS(paramBoolean1, paramBoolean2, paramInt, paramWifiConfiguration); this.mWifiApMhsPermission = true; this.mProcessingMHS = false; checkWifiApRemindDialog(); bool = true; } while (true) { return bool; if ((this.mProcessingMHS == true) && (paramBoolean1 == true)) { Slog.e("WifiService", "MHS is processing"); bool = false; } else if ((this.mEnableMhsFeature) && (!paramBoolean1)) { this.mWifiApMhsPermission = false; this.mProcessingMHS = false; setWifiApEnabled(null, false); bool = true; } else { setParameterMHS(paramBoolean1, paramBoolean2, paramInt, paramWifiConfiguration); this.mCm = ((ConnectivityManager)this.mContext.getSystemService("connectivity")); this.mMhsStatus = this.mCm.htcRequestPermittedTether(-19, -1, null); if (this.mMhsStatus == 0) { Slog.e("WifiService", "MHS HTC_PERMITTED_TETHER_ALLOW"); this.mWifiApMhsPermission = true; this.mProcessingMHS = false; checkWifiApRemindDialog(); } label236: do while (true) { bool = true; break; if (this.mMhsStatus != 1) break label236; Slog.e("WifiService", "MHS HTC_PERMITTED_TETHER_DENY"); this.mWifiApMhsPermission = false; this.mProcessingMHS = false; } while (this.mMhsStatus != 2); Slog.e("WifiService", "MHS HTC_PERMITTED_TETHER_PROGRASSING"); this.mWifiApMhsPermission = false; bool = false; } } }
然后里面有个不知道什么东西的特权参数,叫做
net.frisbee.enabled
如果这个的值是1的话,那么就直接给权限,显然我们要做的任务很简单
把那个.equals(“1”)改成”0″就行啦~
改完了之后差不多这样:
.line 4506 const-string v0, "net.frisbee.enabled" const-string v3, "0" invoke-static {v0, v3}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v0 #const-string v3, "1" #MODIFIED const-string v3, "0" invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_2d .line 4507 const-string v0, "WifiService" const-string v3, "ignore MHS for Frisbee" invoke-static {v0, v3}, Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
回编译回去就搞定了~
刚好2点,继续复习操作系统软
[转载] 美国V版HTC Droid DNA支持电信3G上网的破解方法(改Radio)
本文转载自:
http://droiddna.diypda.com/thread-942842-1-1.html
==========================================
美国V版HTC Droid DNA原生并不支持电信3G上网,未经破解或刷了官ROM的原生基带后,电信卡信号上有个小三角,不能3G,需要对基带进行破解。具体方法:
1、从手机上提取radio.img
- adb shell
- su
- 回手机上点授权,出现 # 后输入:
- dd if=/dev/block/mmcblk0p16 of=/sdcard/radio.img
- 操作完成后,radio.img会提取到sdcard卡上,提到电脑上进行下一步修改。
- 手机继续连接电脑,DOS窗口保留着,等下一步还会用。
2、修改radio.img:
- 用UltraEdit工具打开radio.img
- 搜索: 257fffff306f257f
- 替换: 257fffff5a6f257f
- 鼠标移下一行后,继续:
- 搜索: 257fffff5a6f257f
- 替换: 257fffff306f257f
- 保存后,将radio.img复制到sdcard卡替换原来提取的
、重刷radio.img:上述操作完后,回DOS窗口输入
- dd if=/mnt/sdcard/radio.img of=/dev/block/mmcblk0p16
- 如之前己关掉DOS窗口,需重新打开DOS窗口先执行:
- adb shell
- su
- 回手机上点授权,出现 # 后再输入第一条命令
如果还是不能上网,用QPST改SIMPLE IP以及[email protected]和vnet.mobi
用不来的原因是Settings.apk里面一个Flag变成False了,就不允许你通过拨号盘输入这些特殊指令。
smalicomandroidsettingsframeworkflagfeature
这个目录底下有个HtcTestFeatureFlags.smali
里面有个函数叫
.method public static final supportDialingSecretCode(Landroid/content/Context;)Z
是管这个事情的
把整个函数直接返回True就行了
.method public static final supportDialingSecretCode(Landroid/content/Context;)Z .locals 1 .parameter "context" .prologue .line 57 const/4 v0, 0x1 return v0 .end method