首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >融合定位碰撞

融合定位碰撞
EN

Stack Overflow用户
提问于 2013-12-11 02:31:51
回答 1查看 498关注 0票数 0

嗨,我一直在努力使融合的位置工作,但总是得到应用崩溃,谁能告诉我wgy?坦克你

获取此错误:

12-11 02:08:54.525: E/AndroidRuntime(5972):java.lang.RuntimeException:无法启动活动java.lang.IllegalStateException: Not。调用connect()并等待调用onConnected()。

清单

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.teste"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.INTERNET"/>

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.teste.MainActivity"
        android:label="@string/app_name" >
        <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>

Main:

代码语言:javascript
复制
package com.example.teste;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesClient;
import com.google.android.gms.common.GooglePlayServicesUtil;
import com.google.android.gms.location.LocationClient;
import android.location.Location;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity implements
GooglePlayServicesClient.ConnectionCallbacks,
GooglePlayServicesClient.OnConnectionFailedListener{

LocationClient mLocationClient;
Location mCurrentLocation;
TextView v1,v2;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    int resultCode =
            GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
    // If Google Play services is available
    if (ConnectionResult.SUCCESS == resultCode) {
        // In debug mode, log the status
        Toast.makeText(this, "Serciços Google Play disponiveis",     Toast.LENGTH_LONG).show(); }
    mLocationClient = new LocationClient(this, this, this);
    mCurrentLocation = mLocationClient.getLastLocation();
    setContentView(R.layout.activity_main);
    v1 = (TextView) findViewById(R.id.textView1);
    v2 = (TextView) findViewById(R.id.textView2);

    v1.setText(Double.toString(mCurrentLocation.getLatitude()));
    v2.setText(Double.toString(mCurrentLocation.getLongitude()));
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}


@Override
protected void onStart() {
    // TODO Auto-generated method stub
    super.onStart();
     mLocationClient.connect();
}


@Override
protected void onStop() {
     mLocationClient.disconnect();
    super.onStop();
}


@Override
public void onConnectionFailed(ConnectionResult arg0) {
    // TODO Auto-generated method stub

}


@Override
public void onConnected(Bundle arg0) {
    Toast.makeText(this, "Connected", Toast.LENGTH_SHORT).show();

}


@Override
public void onDisconnected() {
     Toast.makeText(this, "Disconnected. Please re-connect.",
                Toast.LENGTH_SHORT).show();

}

}

莱尤特:

代码语言:javascript
复制
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="28dp"
    android:layout_marginTop="21dp"
    android:text="Large Text"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignRight="@+id/textView1"
    android:layout_below="@+id/textView1"
    android:layout_marginTop="32dp"
    android:text="Large Text"
    android:textAppearance="?android:attr/textAppearanceLarge" />

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-11 03:11:48

正如错误消息所述,在调用mLocationClient.getLastLocation()之前,不能调用onConnected()。将该调用(以及任何依赖它的内容)移动到您的onConnected()方法中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20509462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档