2017-07-18 9 views
0

AWS Android SDK Recognition 2.4.4を使用して簡単な顔検出コールを実行しようとしています。誰かが間違っていることを指摘できますか?AWS Android SDK認識2.4.4 detectFacesがヌルオブジェクト参照で失敗する

私は次のようなエラーに

致命的な例外取得しています:メイン プロセス:com.indus.myfirstapp、PID:8887 java.lang.RuntimeException:ヌル=失敗提供結果ResultInfoを{、1 =要求し、結果= -1、データ=インテント{行=インライン - データ(エクストラ)}}アクティビティ{com.indus.myfirstapp/com.indus.myfirstapp.MainActivity}:android.os.NetworkOnMainThreadException android.app.ActivityThreadの .deliverResults(ActivityThread.java:3929) (android.app.ActivityThread.handleSendResult(ActivityThread.java:3972) android.app)にあります。 ActivityThread.-wrap16(ActivityThread.java) android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1537) (android.os.Handler.dispatchMessage(Handler.java:111)) (android.os.Looper)にあります。 .loop(Looper.java:207) android.app.ActivityThread.main(ActivityThread.java:5728) at java.lang.reflect.Method.invoke(ネイティブメソッド) at com.android.internal.os。 android.os.StrictMode $アンでandroid.os.NetworkOnMainThreadException :によって引き起こさcom.android.internal.os.ZygoteInit.main(ZygoteInit.java:679) でZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:789) droidBlockGuardPolicy.onNetwork(StrictMode.java:1288)java.net.InetAddress.lookupHostByName(InetAddress.java:432)で java.net.InetAddress.getAllByNameImpl(InetAddress.java:253)で java.net.InetAddressで 。 getAllByName(InetAddress.java:215) at com.android.okhttp.internal.Network $ 1.resolveInetAddresses(Network.java:29) at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:188) ) at com.android.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:157) at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:100) at com.android .okh ttp.internal.http.HttpEngine.createNextConnection(HttpEngine.java:368) com.android.okhttp.internal.http.HttpEngine.nextConnection(HttpEngine.java:351) at com.android.okhttp.internal.http。 HttpEngine.connect(HttpEngine.java:341) at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:259) com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl。 Javaの:com.android.okhttp.internal.huc.HttpURLConnectionImpl.getOutputStreamでcom.android.okhttp.internal.huc.HttpURLConnectionImpl.connectで454) (HttpURLConnectionImpl.java:114) (HttpURLConnectionImpl.java:245) でcom.android.okhttp.internal.huc.Delega tingHttpsURLConnection.getOutputStream(DelegatingHttpsURLConnection.java:218)com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java)com.amazonaws.http.UrlHttpClient.writeContentToConnection(UrlHttpClient.java:162)で ででcom.amazonaws.http.UrlHttpClient.execute(UrlHttpClient.java:75) com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:371) com.amazonaws.http.AmazonHttpClient。実行(AmazonHttpClient.java:212)com.amazonaws.services.rekognition.AmazonRekognitionClient.invoke(AmazonRekognitionClient.java:1229)で com.amazonaws.services.rekognition.AmazonRekognitionClient.detectFacesで (AmazonRekognitionClient.java:628) でcom.indus.myfirstapp.MainActivity.onActivityResult(MainActivity.java:95) android.app.Activity.dispatchActivityResult(Activity.java:6500) android.app.ActivityThread.deliverResults(ActivityThread.java:3925) atアンドロイド。アプリケーション。アクティビティ.html。 android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1537)android.os.Handler.dispatchMessage(Handler.java:111)の とandroid.os.Looper.loop(Looper.java:207) でandroid.app.ActivityThread.main(ActivityThread.java:5728) at java.lang.reflect.Method.invoke(ネイティブメソッド) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:789)ここcom.android.internal.os.ZygoteInit.mainで) (ZygoteInit.java:679)

コード

あります210

答えて

0

このコード行は、バックグラウンドスレッドで実行する必要があります。

DetectFacesResult result = client.detectFaces(request); 
+0

ありがとうございます。私はこれを実行するためにスレッドを使用することができました。 – ez2k1

関連する問題