2012-04-11 5 views
0

다음 코드에 의해 구글 네비게이터에 연결하기 위해 내가 응용 프로그램을 개발하고 ..오류 : 기호를 찾을 수 없습니다 : 방법 startActivity를

import android.app.Activity; 
import android.content.Context; 
import android.content.Intent; 
import android.net.Uri; 

public static void Call_GoogleMapsNavigation(int longitud,int latitud) 
{ 
Intent i = new Intent(android.content.Intent.ACTION_VIEW, 
Uri.parse("google.navigation:q=" +latitud+ ","+longitud+"")); 
Context.startActivity(i); 
} 

을 ...하지만 나는 다음과 같은 오류 얻을 :

을 오류가 반환 : 나는이 문제에 대한 해결책을 찾을 수

GWDCPSET_GlobalProcedures_MobileDevice.java:1223: cannot find symbol 
symbol : method startActivity(android.content.Intent) 
location: class antay.cfsatv30.wdgen.GWDCPSET_GlobalProcedures_MobileDevice 
startActivity(i); 
^ 

...

목 ANK 당신은 매우,

+2

상황은 startActivity를 호출 공공 정적 메소드를하지 않습니다()이 인스턴스 방법, 설명서를 읽어 보시기 바랍니다. – JoxTraex

답변

0

이 방법을 시도해보십시오

Context oContext; 
oContext= mContext; 
Intent i = new Intent(android.content.Intent.ACTION_VIEW, 
Uri.parse("google.navigation:q=" + latitud+ "," + longitud)); 
oContext.startActivity(i); 
+0

imran khan, 이제 작동 중입니다! 많은 감사합니다 !! – user1325591

+2

mContext 란 무엇입니까? –

0

위에서 조금 더 답을 설명하기 위해. 이것이 의미하는 바는 정적 startActivity(intent).

Context.startActivity(intent); //wrong notice capital 'C' 

당신은 컨텍스트 인스턴스를 필요/호출하지 안 할 수 없다는 것입니다. 그래서 예를 들면

public static void call_GoogleMapsNavigation(final Context context, int longitud,int latitud) { 

     ... 
     context.startActivity(i); //right 
} 

에 (자바에서 메소드 이름에 대한 규칙으로 소문자 'C'를 주목) :

그래서, 할 수있는 가장 간단한 것은, 정적 메소드에 매개 변수를 추가입니다

: 편의를 위해

을 다음과 같이 컨텍스트 인스턴스에 대한 참조를 보유하고 활동 또는 응용 프로그램의 구성 요소에, 당신은 당신이 활동 (항상 컨텍스트에 대한 참조를 보유)에서 호출 가정하여 메소드를 호출

MainActivity extends AppCompatActivity { 

    OnCreate(Bundle savedInstance) { 
     <YourHelperClass>.callGoogleMapsNavigation(this, 23, 44); //static call 
    } 
} 

희망이 도움이 :)

관련 문제