2011-12-08 8 views
0

Android Webview HTMLページから連絡先を追加しようとしています。私は以下のJavascriptから呼び出されるJSInterface.javaのコードは、..ですHTML/JavaScriptからAndroidの機能を呼び出すためのJavaScriptインターフェースを利用したAndroidエミュレータで連絡先を保存しますか?

public void addContact(String name, String mobile){ 
     String msg = ""; 
     ContentValues cv = new ContentValues(); 
     cv.put(Contacts.People.NAME, name); 
     Uri newPersonUri = Contacts.People.createPersonInMyContactsGroup(mContext.getContentResolver(), cv); 
     if (newPersonUri != null) { 
      ContentValues mobileValues = new ContentValues(); 
      Uri mobileUri = Uri.withAppendedPath(newPersonUri,Contacts.People.Phones.CONTENT_DIRECTORY); 
      mobileValues.put(Contacts.Phones.NUMBER,mobile); 
      mobileValues.put(Contacts.Phones.TYPE,Contacts.Phones.TYPE_MOBILE); 
      Uri phoneUpdate = mContext.getContentResolver().insert(mobileUri, mobileValues); 
      if (phoneUpdate == null) { 
       msg = "Failed to add Contact"; 
      } 
     } 
     msg = "Contact added successfully"; 
      Toast.makeText(mContext, msg, Toast.LENGTH_SHORT).show(); 

    } 

私は、アプリケーションが中断されるjavascriptから関数を呼び出します突然。

12-08 12:59:59.610: I/dalvikvm(1259): java.lang.IllegalStateException: Failed to find the My Contacts group 
12-08 12:59:59.610: I/dalvikvm(1259): at android.provider.Contacts$People.addToMyContactsGroup(Contacts.java:491) 
12-08 12:59:59.610: I/dalvikvm(1259): at android.provider.Contacts$People.createPersonInMyContactsGroup(Contacts.java:568) 
12-08 12:59:59.610: I/dalvikvm(1259): at com.android.contactmanager.JSInterface.addContact(JSInterface.java:89) 
12-08 12:59:59.610: I/dalvikvm(1259): at android.webkit.WebViewCore.nativeTouchUp(Native Method) 
12-08 12:59:59.620: I/dalvikvm(1259): at android.webkit.WebViewCore.nativeTouchUp(Native Method) 
12-08 12:59:59.620: I/dalvikvm(1259): at android.webkit.WebViewCore.access$3900(WebViewCore.java:55) 
12-08 12:59:59.620: I/dalvikvm(1259): at android.webkit.WebViewCore$EventHub$1.handleMessage(WebViewCore.java:1370) 
12-08 12:59:59.620: I/dalvikvm(1259): at android.os.Handler.dispatchMessage(Handler.java:99) 

は..私は今のAndroidデバイスを持っていないので、私はアプリをテストするには、Androidエミュレータを使用しています、例外トレースがLogCatに印刷され、次のAndroidのエミュレータで「保存連絡先」の作業を行いますか?もしそうなら、私のコードの問題は何ですか?どんな助け?

TIA。

答えて

関連する問題