2017-01-18 1 views
2

의도와 함께 다른 앱을 열어주는 앱을 개발 중이며 완벽하게 작동하지만 지금은 특정 활동 (또는 앱의 일부)을 열어야하며 가능한지 모릅니다.내 앱에서 다른 앱의 특정 활동을 여는 방법?

이 경우 Google Cardboard 앱에서 스트리트 뷰를 열고 싶습니다. 나는 그것을 할 수있는 방법을 찾아 내지 못한다. 당신이해야 할 수도 있습니다, 또한

Intent intent = new Intent(); 
intent.setComponent(new ComponentName("com.example", "com.example.MyExampleActivity")); 
startActivity(intent); 

:

public void actionOpenCardboard(View view) { 
    Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.google.samples.apps.cardboarddemo"); 
    if (launchIntent != null) { 
     startActivity(launchIntent); 
    } 
} 

답변

0

당신은 Activity이 방법을 실행할 수 있습니다 : 여기

은 (작동하지만 전체 작업을 기입하지 않습니다)를 사용하여 의도 메신저입니다 위의 코드를 호출하는 Activity의 매니페스트에 android:exported="true"을 추가하십시오.

+0

그는 자신의 앱에서 Google Cardboard 앱의 StreetView를 열어야합니다. – rupinderjeet

+0

즉, 판지 응용 프로그램 내부에'Activity'을 경우, 그는 이것을 사용할 수 있습니다 그가 앱의 활동 이름과 패키지 이름을 알고 제공 – OBX

0

당신은 "구글 골판지 응용 프로그램"은 "스트리트 뷰"가 열리고 neccessarey 어떤 매개 변수 (즉 현재의 위도, 경도, 줌 레벨) 방법을 찾아야합니다.

당신이 운이 좋다면 IntentIntercept app은 당신이 의도 한 세부 사항을 찾는 데 도움이 될 수 있습니다.

그냥지도를 필요로하고 맵이 "구글 판지 응용 프로그램"또는 당신이 지리적 URI를 ACTION_VIEW을 시도 할 수있는 다른지도 응용 프로그램에서 오는 경우가 중요하지 않은 경우.

private void onButtonClick[] { 
    double lat = 52.1; 
    double lon = 9.2; 
    double zoom = 10; 

    // no need for de.k3b.geo-lib for simple request: 
    String uriGeoSimple = String.format(Locale.ENGLISH, 
       "geo:0,0?q=%f,%f&z=%f", lat, lon,zoom); 

    // (1) GEOClientActivity creates and sends an android ACTION_VIEW intent 
    // with coordinate 
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uriGeoSimple)); 
    startActivity(intent); 
} 

자세한 내용은 지리적 URI 형식에 대한

을 분석하고 이해하려는이 donot로 LIB없이 그것을 쉽게 할 수 있습니다 ~ https://github.com/k3b/k3b-geoHelper/wiki/Android-Geo-aware-apps

관련 문제