• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            xiaoguozi's Blog
            Pay it forword - 我并不覺(jué)的自豪,我所嘗試的事情都失敗了······習(xí)慣原本生活的人不容易改變,就算現(xiàn)狀很糟,他們也很難改變,在過(guò)程中,他們還是放棄了······他們一放棄,大家就都是輸家······讓愛(ài)傳出去,很困難,也無(wú)法預(yù)料,人們需要更細(xì)心的觀察別人,要隨時(shí)注意才能保護(hù)別人,因?yàn)樗麄兾幢刂雷约阂裁础ぁぁぁぁ?/span>
                 摘要: 廣播接收器:   廣播接收者(BroadcastReceiver)用于監(jiān)聽(tīng)系統(tǒng)事件或應(yīng)用程序事件,通過(guò)調(diào)用Context.sendBroadcast()、Context.sendOrderedBroadcast()可以向系統(tǒng)發(fā)送廣播意圖,通過(guò)廣播一個(gè)意圖(Intent)可以被多個(gè)廣播接收者所接收,從而可以在不用修改原始的應(yīng)用程序的情況下,讓你對(duì)事件作出反應(yīng)。   &n...  閱讀全文
            posted @ 2012-06-07 23:09 小果子 閱讀(2830) | 評(píng)論 (0)編輯 收藏

            網(wǎng)上找到的,HTC One X,三星i9000 cm9 4.0.4測(cè)試通過(guò),在此記錄一下,大伙需要的話就拿去吧..


            1. Android 2.3(不包括)以下,通過(guò)獲取aidl遠(yuǎn)程服務(wù)接口TelephoneyManager來(lái)調(diào)用它的answerRingingCall方法(ps: 關(guān)于此方法具體做法,由于時(shí)間關(guān)系,我這里就不詳細(xì)說(shuō)啦,大家Google一下吧)

                    TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
                    Class c 
            = Class.forName(tm.getClass().getName());
                    Method m 
            = c.getDeclaredMethod("getITelephony");
                    m.setAccessible(
            true);
                    ITelephony telephonyService;
                    telephonyService 
            = (ITelephony) m.invoke(tm);

                    
            // Silence the ringer and answer the call!
                    telephonyService.silenceRinger();
                    telephonyService.answerRingingCall();



            2. Android 2.3(包括)以上,如果照樣使用TelephoneyManager獲取到的answerRingingCall方法的話,就會(huì)拋沒(méi)有 android.permission.MODIFY_PHONE_STATE權(quán)限異常,其實(shí)你已經(jīng)配了這個(gè)權(quán)限的了,但是不好意思,你的App不是系統(tǒng) 軟件,沒(méi)有系統(tǒng)簽名,所以還是不能調(diào)用,除非,你root了你的手機(jī),把你的app裝到系統(tǒng)軟件里面去,所以這里使用另外一種方法實(shí)現(xiàn)自動(dòng)接聽(tīng)這個(gè)行為 了,詳細(xì)如下:

            剛開(kāi)始我用這段代碼的,發(fā)現(xiàn)三星機(jī)型可以,但HTC(如: G10 , One X)不行,

             Intent intent = new Intent("android.intent.action.MEDIA_BUTTON");
             KeyEvent keyEvent 
            = new KeyEvent(KeyEvent.ACTION_DOWN,  KeyEvent.KEYCODE_HEADSETHOOK);
             intent.putExtra(
            "android.intent.extra.KEY_EVENT",keyEvent);
             sendOrderedBroadcast(intent,
            "android.permission.CALL_PRIVILEGED");
             intent 
            = new  Intent("android.intent.action.MEDIA_BUTTON");
             keyEvent 
            = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_HEADSETHOOK);
             intent.putExtra(
            "android.intent.extra.KEY_EVENT",keyEvent);
             sendOrderedBroadcast(intent,
            "android.permission.CALL_PRIVILEGED");



            后來(lái)又google到了這段代碼,經(jīng)過(guò)測(cè)試,完全好使..


            Intent localIntent1 = new Intent(Intent.ACTION_HEADSET_PLUG);
            localIntent1.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
            localIntent1.putExtra(
            "state"1);
            localIntent1.putExtra(
            "microphone"1);
            localIntent1.putExtra(
            "name""Headset");
            CallingActivity.
            this.sendOrderedBroadcast(localIntent1,"android.permission.CALL_PRIVILEGED");

            Intent localIntent2 
            = new Intent(Intent.ACTION_MEDIA_BUTTON);
            KeyEvent localKeyEvent1 
            = new KeyEvent(KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_HEADSETHOOK);
            localIntent2.putExtra(
            "android.intent.extra.KEY_EVENT",localKeyEvent1);
            CallingActivity.
            this.sendOrderedBroadcast(localIntent2,"android.permission.CALL_PRIVILEGED");

            Intent localIntent3 
            = new Intent(Intent.ACTION_MEDIA_BUTTON);
            KeyEvent localKeyEvent2 
            = new KeyEvent(KeyEvent.ACTION_UP,KeyEvent.KEYCODE_HEADSETHOOK);
            localIntent3.putExtra(
            "android.intent.extra.KEY_EVENT",localKeyEvent2);
            CallingActivity.
            this.sendOrderedBroadcast(localIntent3,"android.permission.CALL_PRIVILEGED");

            Intent localIntent4 
            = new Intent(Intent.ACTION_HEADSET_PLUG);
            localIntent4.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
            localIntent4.putExtra(
            "state"0);
            localIntent4.putExtra(
            "microphone"1);
            localIntent4.putExtra(
            "name""Headset");
            CallingActivity.
            this.sendOrderedBroadcast(localIntent4,"android.permission.CALL_PRIVILEGED");
            posted @ 2012-06-07 17:20 小果子 閱讀(2008) | 評(píng)論 (2)編輯 收藏
            由于Android安裝包APK文件僅僅是一個(gè)簡(jiǎn)單的zip包,導(dǎo)致了APK文件很容易被反編譯。這不僅威脅到軟件開(kāi)發(fā)公司及程序開(kāi)發(fā)人員的知識(shí)產(chǎn)權(quán),而且成為了惡意程序滋生的溫床。

                那么如何增加APK被破解的難度,保障APK程序的安全性呢?這段時(shí)間里,我總結(jié)了一些技術(shù)上可行的方法。它們包括如下幾篇文章。

             《APK反破解之一:Android Java混淆(ProGuard)》 
             《APK反破解之二:Android APK 簽名比對(duì)》 
             《APK反破解之三:NDK編譯.so動(dòng)態(tài)庫(kù)》 
             《APK反破解之四:Android代碼動(dòng)態(tài)加載技術(shù)》 

                為了方便大家查找,特意在這里做個(gè)小結(jié),將連接整理在此,方便大家閱讀。之所以將這幾篇文章的整理稱為“小結(jié)”,是因?yàn)檫@遠(yuǎn)遠(yuǎn)算不上“總結(jié)”。希望大家多多交流,隨時(shí)留言發(fā)表自己的想法,多多補(bǔ)充、指正。謝謝了!

                Android代表了移動(dòng)互聯(lián)網(wǎng)時(shí)代的興起,它將廣泛運(yùn)行在各種移動(dòng)終端之上。有機(jī)構(gòu)數(shù)據(jù)預(yù)測(cè),移動(dòng)互聯(lián)網(wǎng)時(shí)代的終端數(shù)量將是PC時(shí)代終端設(shè)備數(shù) 量的10倍以上。并且移動(dòng)終端本身的特點(diǎn)決定了它比PC更為私有化。因此它的安全性、隱私保護(hù)性將比PC時(shí)代的安全和隱私保護(hù)更為受到用戶、媒體和機(jī)構(gòu)的 關(guān)注。

                Android這個(gè)可愛(ài)的小綠人從出生到現(xiàn)在,滿打滿算也只有三周歲而已。它的安全領(lǐng)域存在著太多的空白等著我們?nèi)ラ_(kāi)拓和填補(bǔ)。這既是挑戰(zhàn),也是 機(jī)遇。希望大家能借看雪論壇Android軟件安全板塊這個(gè)平臺(tái),多多交流,相互學(xué)習(xí),共同迎接移動(dòng)互聯(lián)網(wǎng)軟件安全的春天!
            posted @ 2012-05-24 17:12 小果子 閱讀(610) | 評(píng)論 (0)編輯 收藏
            做Android應(yīng)用,不可避免的會(huì)與SQLite打交道。隨著應(yīng)用的不斷升級(jí),原有的數(shù)據(jù)庫(kù)結(jié)構(gòu)可能已經(jīng)不再適應(yīng)新的功能,這時(shí)候,就需要對(duì)SQLite數(shù)據(jù)庫(kù)的結(jié)構(gòu)進(jìn)行升級(jí)了。

              SQLite提供了ALTER TABLE命令,允許用戶重命名或添加新的字段到已有表中,但是不能從表中刪除字段。

              并且只能在表的末尾添加字段,比如,為 Subscription添加兩個(gè)字段:    

            1 ALTER TABLE Subscription ADD COLUMN Activation BLOB;
            2 ALTER TABLE Subscription ADD COLUMN Key BLOB;

              另外,如果遇到復(fù)雜的修改操作,比如在修改的同時(shí),需要進(jìn)行數(shù)據(jù)的轉(zhuǎn)移,那么可以采取在一個(gè)事務(wù)中執(zhí)行如下語(yǔ)句來(lái)實(shí)現(xiàn)修改表的需求。

              1. 將表名改為臨時(shí)表

            ALTER TABLE Subscription RENAME TO __temp__Subscription;

              2. 創(chuàng)建新表

            CREATE TABLE Subscription (OrderId VARCHAR(32) PRIMARY KEY ,UserName VARCHAR(32) NOT NULL ,ProductId VARCHAR(16) NOT NULL);

              3. 導(dǎo)入數(shù)據(jù)  

            INSERT INTO Subscription SELECT OrderId, “”, ProductId FROM __temp__Subscription;

              或者  

            INSERT INTO Subscription() SELECT OrderId, “”, ProductId FROM __temp__Subscription;

              * 注意 雙引號(hào)”” 是用來(lái)補(bǔ)充原來(lái)不存在的數(shù)據(jù)的
              4. 刪除臨時(shí)表  

            DROP TABLE __temp__Subscription;

              通過(guò)以上四個(gè)步驟,就可以完成舊數(shù)據(jù)庫(kù)結(jié)構(gòu)向新數(shù)據(jù)庫(kù)結(jié)構(gòu)的遷移,并且其中還可以保證數(shù)據(jù)不會(huì)應(yīng)為升級(jí)而流失。

              當(dāng)然,如果遇到減少字段的情況,也可以通過(guò)創(chuàng)建臨時(shí)表的方式來(lái)實(shí)現(xiàn)。

            posted @ 2012-05-09 10:55 小果子 閱讀(803) | 評(píng)論 (0)編輯 收藏
            http://www.oschina.net/question/231733_44154
            posted @ 2012-05-08 17:06 小果子 閱讀(82) | 評(píng)論 (0)編輯 收藏
            僅列出標(biāo)題
            共58頁(yè): First 12 13 14 15 16 17 18 19 20 Last 
            久久精品无码专区免费| 久久无码中文字幕东京热| 亚洲国产精品久久久久网站| 精品水蜜桃久久久久久久| 日韩美女18网站久久精品| 伊人久久大香线蕉av不卡| 久久久久久久综合日本亚洲| 亚洲欧美精品一区久久中文字幕| 久久精品国产久精国产果冻传媒 | 伊人久久大香线蕉影院95| 国产无套内射久久久国产| 久久久久久久波多野结衣高潮| 久久人妻AV中文字幕| 天天久久狠狠色综合| 波多野结衣久久一区二区| 99精品久久久久久久婷婷| 伊人久久综合无码成人网| 久久精品中文字幕有码| www.久久热.com| 天天爽天天狠久久久综合麻豆| 精品熟女少妇aⅴ免费久久| 99久久成人国产精品免费| 久久婷婷五月综合国产尤物app| 久久精品视频免费| 色偷偷久久一区二区三区| 亚洲午夜无码AV毛片久久| 久久国产热这里只有精品| .精品久久久麻豆国产精品| 人人狠狠综合久久88成人| 久久天天婷婷五月俺也去| 国内精品伊人久久久久网站| 久久ZYZ资源站无码中文动漫| 久久精品人人做人人爽电影| 合区精品久久久中文字幕一区 | 狠狠精品久久久无码中文字幕| 久久久久人妻精品一区二区三区| 综合久久精品色| 中文字幕无码av激情不卡久久| 久久久99精品一区二区| 久久久91人妻无码精品蜜桃HD| 国产无套内射久久久国产|