2011-03-05 48 views
0

我一直在閱讀從Android的網站的開發文檔,示例代碼,特別是這樣的:問題有關帳戶的創建和同步在Android

http://developer.android.com/resources/samples/SampleSyncAdapter/src/com/example/android/samplesync/authenticator/AuthenticatorActivity.html

這是示例應用程序的唯一活動。它指的是onCreate方法中的意圖。我不明白這個意圖來自哪裏,或者它應該包含什麼,如果這是應用程序使用的唯一活動。

Log.i(TAG, "loading data from Intent"); 
     final Intent intent = getIntent(); 
     mUsername = intent.getStringExtra(PARAM_USERNAME); 
     mAuthtokenType = intent.getStringExtra(PARAM_AUTHTOKEN_TYPE); 
     mRequestNewAccount = mUsername == null; 
     mConfirmCredentials = intent.getBooleanExtra(PARAM_CONFIRM_CREDENTIALS, false); 

這就是代碼的意圖工作塊。爲什麼你會有意在應用程序中唯一的活動?這個應用程序以不尋常的方式調用嗎? Manifest不包括一個活動的意圖過濾器......我想我對這件事情只是有點失落!如果有人能夠讓我挺身而出,那很好,謝謝。

回答

1
  1. 爲什麼你會在應用程序的唯一活動的意圖是什麼?

    getIntent()讓你意識到開始這項活動。

  2. 這個應用程序以不尋常的方式調用?

    我想這個活動是從另一個應用程序或活動以編程方式調用的,因爲它已經傳遞了一些額外的數據:getStringExtra()用於從啓動它的意圖中提取一些數據。 putExtra..getExtra..是一種在啓動時在活動之間傳遞數據的方法。

+0

我完全失去了這個東西。說實話,我甚至不確定我是否想要使用它......整件事情都讓人困惑。謝謝。 – JMRboosties 2011-03-06 00:01:57

+0

在Android應用程序中是一組活動和服務。應用程序永遠不會直接啓動,活動是。總是當你開始一項活動時,你需要一個意圖。所以你認爲這是一個意圖,而不是告訴系統根據這個意圖開始一項活動。當系統啓動一個活動時,它會傳遞這個意圖。 http://developer.android.com/guide/topics/fundamentals.html – 2011-03-06 00:07:30

0

在該具體示例中,意圖從addAccount方法Authenticator.java發送。當您單擊帳戶&同步設置屏幕中的添加帳戶按鈕並選擇您的帳戶類型時,操作系統會調用此方法。

相關問題