private String getTopActivity() {
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
if (am == null) {
Log.d(TAG,"Go() am = null");
return null;
}
// get the info from the currently running task
List< ActivityManager.RunningTaskInfo > taskInfo = am.getRunningTasks(1);
//Log.d("topActivity", "CURRENT Activity ::"
// + taskInfo.get(0).topActivity.getClassName());
ComponentName componentInfo = taskInfo.get(0).topActivity;
//Log.d(TAG, "getPackageName = " + componentInfo.getPackageName());
return componentInfo.getPackageName();
}
2014年9月27日 星期六
[android] 抓top activity 名稱
[android] java code 送touch event
private void touch(int x, int y) {
try {
Runtime.getRuntime().exec("input tap "+x+" "+y);
} catch (Throwable t) {
}
}
[android] service 處理音量鍵
android service 收不到key event.
可以透過 AUDIO_SERVICE
可以透過 AUDIO_SERVICE
public class SettingsContentObserver extends ContentObserver {
int previousVolume;
Context context;
public SettingsContentObserver(Context c, Handler handler) {
super(handler);
Log.d(TAG,"SettingsContentObserver()");
context=c;
AudioManager audio = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
previousVolume = audio.getStreamVolume(AudioManager.STREAM_MUSIC);
}
@Override
public boolean deliverSelfNotifications() {
Log.d(TAG,"deliverSelfNotifications()");
return super.deliverSelfNotifications();
}
@Override
public void onChange(boolean selfChange) {
Log.d(TAG,"onChange()");
super.onChange(selfChange);
AudioManager audio = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
int currentVolume = audio.getStreamVolume(AudioManager.STREAM_SYSTEM);
Log.d(TAG,"onChange() currentVolume = "+currentVolume);
}
}
}
@Override
public void onCreate() {
super.onCreate();
Log.i(TAG, "onCreate()");
mSettingsContentObserver = new SettingsContentObserver(this,new Handler());
getContentResolver().registerContentObserver(android.provider.Settings.System.CONTENT_URI, true, mSettingsContentObserver );
}
@Override
public void onDestroy() {
Log.d(TAG,"onDestroy()");
getContentResolver().unregisterContentObserver(mSettingsContentObserver);
}
[android] 關於android 手機遊戲外掛
一點小小的想法!
經過實作確定可行!
python + adb command 實作andorid 手機的遊戲外掛
透過python 下adb command 截圖並pull 到電腦端
接著透過 python PIL lib 做圖形識別
接著對手機送touch event
優點:
實作超快! 省時省力
缺點:
需要開著電腦!
經過實作確定可行!
python + adb command 實作andorid 手機的遊戲外掛
透過python 下adb command 截圖並pull 到電腦端
def getPic():
os.chdir(adb)
os.system("adb shell screencap -p /sdcard/screen.png")
os.system("adb pull /sdcard/screen.png "+pic_dir+"pic.png")
os.system("adb shell rm /sdcard/screen.png")
接著透過 python PIL lib 做圖形識別
接著對手機送touch event
def touch(x,y):
os.chdir(adb)
os.system("adb shell input tap "+str(x)+" "+str(y))
優點:
實作超快! 省時省力
缺點:
需要開著電腦!
2014年9月26日 星期五
[程式語言] syntaxhighlighter
syntaxhighlighter
可讓程式碼變得更好看
官網: http://alexgorbatchev.com/SyntaxHighlighter/
安裝方式 參考
http://alexgorbatchev.com/SyntaxHighlighter/manual/installation.html
程式碼用下面語法包起來
可讓程式碼變得更好看
官網: http://alexgorbatchev.com/SyntaxHighlighter/
安裝方式 參考
http://alexgorbatchev.com/SyntaxHighlighter/manual/installation.html
Brush name
|
Brush aliases
|
File name
|
bash, shell
|
shBrushBash.js
| |
cpp, c
|
shBrushCpp.js
| |
css
|
shBrushCss.js
| |
js, jscript, javascript
|
shBrushJScript.js
| |
java
|
shBrushJava.js
| |
perl, pl
|
shBrushPerl.js
| |
php
|
shBrushPhp.js
| |
py, python
|
shBrushPython.js
| |
xml, xhtml, xslt, html, xhtml
|
shBrushXml.js
|
程式碼用下面語法包起來
<pre class="brush: java"></pre">public class Hello {
public static int gvar;
public static void say(String s) {
int x = 10;
System.out.print(s+x);
}
public static void main(String[] argv) {
float y = 0;
say("Hello, world\n");
}
}
<pre class="brush: python"></pre"> print("Hello, world!")
2014年7月15日 星期二
2014年7月12日 星期六
[求婚] 關於求婚看板
關於求婚~~~
腦海中一直有一些想法, 想要做一些特別的東西.
翻翻過去的筆記對於單晶片一直很想要玩玩
用一個單晶片 控制LED燈 排成字的形狀~~ 順便求婚!!!
Good idea!!! 於是求婚看板就產生了!
小弟我念資工的會寫一點程式.
對於硬體的電子相關知識有點薄弱.
只好請教google 大師用最基本的東西做出這看板~~
在電路方面真的是土炮搞定他 線路很醜~~
我是寫SW的HW, 只是有時候我也會動手做一下 HW.
====== 製作篇 =======
2014.01.14
上網找了好久看到這東西!
Arduino Leonardo 單晶片開發版. 光看到李奧納多 名字就贏了
對於我這軟體工程師來說 寫C code 這個簡單
他有多個 IO (5V) 可以控制LED 字型
而且也很便宜. 就決定是他了.
因為板子上IO 是 5V, LED電路打算用12V
就入手了一個8路繼電器
2014.01.28
關於LED, 在台灣一顆要價1~3元不等. 做看板保守估計要三四百棵LED
加上預留實作失敗的部分, 看來這筆開銷很可觀!
在掏寶發現超便宜~~~
所以一次買了三包 白 藍 紅~~ 各 1000顆!!!!
平均一包 2XX 台幣. 只能說台灣賣真貴!!!
2014_02_01
開始擬草稿刻字~~~ 美工時間!!!
阿母表示: 你不是要求婚! 應該要寫 佳圓嫁給我~~~
HW: 對ㄟ! 可惡! 那個字很難刻ㄟ 要砍掉重練了!!!
2014_02_15
努力刻字中~~~
排版中~~
最後拍板定案! 就這個!
2014_02_16
因為我超懶惰! 直接用焊槍打洞!! 超臭~~~
有個雛形了~~~
2014_02_27 求婚看版
努力焊接中~~~ 焊槍! 電表 鉗子 熱熔膠~~ 好忙! 好忙! 眼睛好花!
試點燈~~~ 成功!!!
焊了兩三周!!! 終於~~ 完成四個字!
不得不說! 這LED 超亮~~~
2014_03_08 求婚看板
最後一個 "嫁" 字! 努力中~~

安裝繼電器!!!
試點燈!!! 測試OK!
2014_03_15 求婚看版
今日目標:
接上 Arduino Leonardo 開發版.
測試OK! 可以透過寫程式 經由單晶片 控制 板子的亮暗!!! 閃爍!
看板閃爍過於頻繁繼電器似乎被我搞壞
一直秀逗不知道是不是磁化. 還是不能這樣搞!
只好放棄閃爍了~~~~
另外! 電源打開後他就開始閃爍感覺就很單調遜遜的!
為了要能隨心所欲控制看板燈光
所以這裡在板子上接一個紅外線接收器.
拿沒有再用的遙控器來遙控看板!
完工!!!
2014_07_05 求婚看板
首先有人會問為什麼四個月沒動工!
答案: 因為想說還沒要求婚! 完成度也很高了~~~
因為拿到婚戒了! 也該求婚了~~ 所以開始動工!
可惡! 放太久 上面有一層灰塵!!! 哈!!!
電路板固定好了! 遙控的程式也寫好了~~~
另外多接一個USB 接頭吃單晶片開發版的電
接 USB抬燈 ~~~ 透過遙控器 讓他閃爍!!!
求婚時! 只要插上電源! 拿著遙控器 就OK了!!!!
測試OK!!!
用了四百多顆LED終於~~~ 完工!!!
2014.07.11
算算拿到婚戒到現在. 完完全全沒有機會去高雄!
本想要請女友的好姊妹一起幫忙求婚!
人算不如天算! 完全沒有時間! 只好全部自己來~~
在全黑的房間! 看板散發出藍光~~~
我盡力了! 單眼完全拍不出那個感覺!!!
用錄影的也錄不出來~~~
現場看到是清晰 耀眼的字! 還有周圍藍藍的光線!!!
燈光美! 氣氛佳~~~
在測試的時候拍到的!!!
看板燈光打到人身上就是這感覺~~~
女友最愛的藍色!!!

求婚看板 + 玫瑰花束 + 求婚影片 + 鑽戒!
終於~~~ Yes, I do.
訂閱:
文章 (Atom)
































