2015-07-20 48 views
1

我使用Xamarin的Google Play Services組件,但似乎在運行時無法在Android.Runtime.JNIEnv中找到使用它的方法。如何在使用Xamarin Google Play服務時避免MissingMethodException?

這裏是我的usings:

using Android.App; 
using Android.Widget; 
using Android.OS; 
using Android.Gms.Location; 
using Android.Gms.Common.Apis; 

下面是失敗的代碼示例:

request = new LocationRequest(); 
request.SetNumUpdates(1); 

它導致該exeption(主叫SetNumUpdates時):

系統。 MissingMethodException:未找到方法:'Android.Runtime.JNIEnv.CallObjectMethod'。

此代碼:

request = new LocationRequest(); 
client = new GoogleApiClientBuilder(this).AddApi(LocationServices.API).AddConnectionCallbacks(this).AddOnConnectionFailedListener(this).Build(); 

導致以下異常:

system.missingMethodException而:未找到方法:「Android.Runtime.JNIEnv.StartCreateInstance

我如何確保可以找到Android.Runtime.JNIEnv中的方法?這很奇怪,因爲Mono.Android包含在內,intellisense能夠找到這些方法。我可以自己找到它們,那麼問題是什麼,我該如何解決它?

回答

0

您的模擬器/設備是否安裝了Google Play服務?

如果您使用的是真實設備,Google播放服務會自動安裝。

如果您使用的是Android模擬器從Android SDK中,您必須從谷歌API的圖像

enter image description here

+0

我用一個真實的設備創建一個模擬器。所以它應該只是工作。不幸的是,事實並非如此。 – Daan

+0

我在論壇上發現了一些東西: https://forums.xamarin.com/discussion/45126/google-play-services-location-api-fails –

+0

謝謝,但這個問題是不同的:在你添加的鏈接中,「CallObjectMethod 「正在拋出一個例外。我的情況不同:在運行時根本找不到「CallObjectMethod」。 – Daan

相關問題