2011-01-20 37 views
1

我下面http://android.amberfog.com/?p=422通過使用下面的代碼祕密代碼,開始一個活動:動態清單文件「android_secret_code」

<action android:name="android.provider.Telephony.SECRET_CODE" /> 
<data android:scheme="android_secret_code" android:host="4636" /> 

我想這樣做的是在應用程序本身的選項,用戶可以將密碼更改爲他們希望的內容。

所以,作爲一個默認的,用戶按下#4636#進入應用程序,而當用戶改變一些其他的代碼,說5555,爲下次啓動它使用5555到啓動應用程序。

有沒有辦法做到這一點?

我首先想到從strings.xml中獲取這段代碼,但後來我意識到我無法在運行時更改strings.xml中的資源。

然後,我考慮將此值放入sqllite數據庫或共享首選項,但我不確定是否可以將此值返回到清單。

有沒有什麼好的想法做到這一點?

我也可以不使用secret_code,但是當用戶調用某個數字(比如33334)時,應用程序啓動。然後用戶可以在應用程序中更改此號碼。如果這是可能的話,我也可以採用這種方式。

我知道上述是可能的Shady_SMS,但不知道這個應用程序如何處理這個。

+0

有一個固定的代碼激發一個活動比然後要求你的可修改的代碼?我認爲你不能完全像這樣做。 順便說一句,任何擁有anycut的人都可以按照我所知,無代碼地啓動您的應用。 – blindstuff 2011-01-20 22:15:12

回答

0

使用BroadcastReceiverIntent.ACTION_NEW_OUTGOING_CALL工作。用戶將他們想要的密碼保存到sharedpreference,並在BroadcastReceiveronReceive()上,我從sharedpreference得到值,並用它來啓動應用程序。