java - cannot be cast to com.google.android.gms.location.LocationListener exception in android -


i facing exception in application, exception related com.google.android.gms.location.locationlistner in android, please me in regards

my mainactivity.java file:

package com.ideabiz.fusedlocationprovider;  import android.content.pm.packagemanager; import android.location.location; import android.location.locationlistener; import android.support.annotation.nonnull; import android.support.annotation.nullable; import android.support.v4.app.activitycompat; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.widget.textview;  import com.google.android.gms.common.connectionresult; import com.google.android.gms.common.api.googleapiclient; import com.google.android.gms.location.locationrequest; import com.google.android.gms.location.locationservices;   public class mainactivity extends appcompatactivity implements googleapiclient.connectioncallbacks,     googleapiclient.onconnectionfailedlistener, locationlistener {   textview txtoutputlat, txtoutputlon; location mlastlocation; private googleapiclient mgoogleapiclient; private locationrequest mlocationrequest; string lat, lon;   @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main);       txtoutputlat = (textview) findviewbyid(r.id.textview);     txtoutputlon = (textview) findviewbyid(r.id.textview2);       buildgoogleapiclient(); }   @override public void onconnected(bundle bundle) {       mlocationrequest = locationrequest.create();     mlocationrequest.setpriority(locationrequest.priority_high_accuracy);     mlocationrequest.setinterval(100); // update location every second      locationservices.fusedlocationapi.requestlocationupdates(mgoogleapiclient, mlocationrequest, (com.google.android.gms.location.locationlistener) this);       if (activitycompat.checkselfpermission(this, android.manifest.permission.access_fine_location) != packagemanager.permission_granted && activitycompat.checkselfpermission(this, android.manifest.permission.access_coarse_location) != packagemanager.permission_granted) {         // todo: consider calling         //    activitycompat#requestpermissions         // here request missing permissions, , overriding         //   public void onrequestpermissionsresult(int requestcode, string[] permissions,         //                                          int[] grantresults)         // handle case user grants permission. see documentation         // activitycompat#requestpermissions more details.         return;     }     mlastlocation = locationservices.fusedlocationapi.getlastlocation(             mgoogleapiclient);     if (mlastlocation != null) {         lat = string.valueof(mlastlocation.getlatitude());         lon = string.valueof(mlastlocation.getlongitude());      }     updateui(); }  @override public void onconnectionsuspended(int i) {  }  @override public void onlocationchanged(location location) {     lat = string.valueof(location.getlatitude());     lon = string.valueof(location.getlongitude());     updateui(); }  @override public void onstatuschanged(string s, int i, bundle bundle) {  }  @override public void onproviderenabled(string s) {  }  @override public void onproviderdisabled(string s) {  }  @override public void onconnectionfailed(connectionresult connectionresult) {     buildgoogleapiclient(); }  synchronized void buildgoogleapiclient() {     mgoogleapiclient = new googleapiclient.builder(this)             .addconnectioncallbacks(this)             .addonconnectionfailedlistener(this)             .addapi(locationservices.api)             .build();   }  @override protected void onstart() {     super.onstart();     mgoogleapiclient.connect(); }  @override protected void ondestroy() {     super.ondestroy();     mgoogleapiclient.disconnect(); }  void updateui() {     txtoutputlat.settext(lat);     txtoutputlon.settext(lon); } } 

my logcat file:

e/androidruntime: fatal exception: main process: com.ideabiz.fusedlocationprovider, pid: 18114 java.lang.classcastexception: com.ideabiz.fusedlocationprovider.mainactivity cannot cast com.google.android.gms.location.locationlistener @ com.ideabiz.fusedlocationprovider.mainactivity.onconnected(mainactivity.java:52) 

my manifest.xml file:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ideabiz.fusedlocationprovider"> <uses-permission android:name="android.permission.access_fine_location" /> <application     android:allowbackup="true"     android:icon="@mipmap/ic_launcher"     android:label="@string/app_name"     android:supportsrtl="true"     android:theme="@style/apptheme">     <activity android:name=".mainactivity">         <intent-filter>             <action android:name="android.intent.action.main" />              <category android:name="android.intent.category.launcher" />         </intent-filter>     </activity>     <meta-data android:name="com.google.android.gms.version"                android:value="@integer/google_play_services_version" /> </application>  </manifest> 

if take on logcat, error stated have imported wrong locationlistener. check on imported library @ top part of class, supposed com.google.android.gms.location.locationlistener not android.location.locationlistener.


Comments

Popular posts from this blog

amazon web services - S3 Pre-signed POST validate file type? -

c# - Check Keyboard Input Winforms -