2014-02-08 61 views
0

主要活動獲取谷歌郵件的ID在電話間隙

//Main Activity Class 
//Loading the URL the index.html 
public class MainActivity extends DroidGap { 
    /** Called when the activity is first created. */ 
GoogleAuth cna; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState);  
     super.init(); 

     cna = new GoogleAuth(); 
     appView.addJavascriptInterface(cna, "GoogleAuth"); 
     appView.loadUrl("file:///android_asset/www/index.html"); 
    } 
} 

谷歌驗證

//Google Auth Class 
package com.sumeet.daykart; 

import android.accounts.Account; 
import android.accounts.AccountManager; 
import android.app.Activity; 
import android.webkit.JavascriptInterface; 

public class GoogleAuth extends Activity { 
    String email = ""; 


    @JavascriptInterface 
    public String getMailIds() { 
     try { 
      AccountManager manager = AccountManager.get(this); 
      Account[] accounts = manager.getAccounts(); 
      for (Account account : accounts) { 
       email += account.name + ","; 

      } 


     } catch (Exception e) { 
      email = e.getMessage(); 
     } 

     return email; 
    } 

} 

的Javascript

//JavaScript in index.HTML Page 
    var mail = window.GoogleAuth.getMailIds(); 

  1. 請任何人可以告訴我爲什麼這個代碼不工作。
  2. 我收到一條消息,說系統服務不可用於onCreate()之前的活動()
  3. 請讓我知道解決方案..我被困在這件事情。 在此先感謝:)

回答

0

我得到了解決方案。我們應該將MainActivity的參考傳遞給GoogleAuth的 。這樣我們就可以使用該參考,

AccountManager manager = AccountManager.get(this); 

AccountManager必須
MainActivity類的參考。