0

다른 클래스에서 내 주요 활동을 표시하려고하는데 문제는 그 시점에서 클래스 이름을 모르는 것입니다. (작성중인 코드는 Android 라이브러리 내부에 있으며 주요 활동은 다음과 같습니다. 구체적인 애플 리케이션).Android : 기본 활동을 표시하는 방법?

기본 활동 클래스를 런타임에 가져 오거나 다른 방법으로 기본 활동을 시작하는 인 텐트를 만들려면 어떻게해야합니까?

나는이 시도 :

new Intent(Intent.ACTION_MAIN); 

을하지만 아무 반응이 없습니다.

+0

활동을 시작 하시겠습니까? – Venky

+0

이 startActivity를 시도해 보셨습니까 (새로운 의도 (Yourcurrentclass.this, YourActivityname.class)). – Venky

+0

그래,하지만이 시점에서 어느 클래스인지는 모르겠다. 각 앱마다 다른 앱이있다. 라이브러리 프로젝트에서이 공유 동작을 사용합니다. – futlib

답변

0

라이브러리를 처음 사용할 때 초기화 할 때 주 활동 이름을 전달하지 않는 이유는 무엇입니까?

+0

BroadcastReceiver 내부에서 클래스를 알아야하기 때문에 약간 어렵습니다. 안드로이드 프레임 워크는 그것을 인스턴스화합니다. 그래서 초기화 된 시간을 정말로 모르겠습니다. 수신기의 정적 멤버를 설정하려고했지만 실제로 작동하지 않습니다. 다른 생각? – futlib

0

당신이 언급하는 기본 활동에 대한 매니페스트에 다음과 같은 목적을 포함한다 :

<intent-filter> 
    <action android:name="com.android.myproject.THIS_IS_MY_ACTION" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
</intent-filter> 

을하면 사용이 클래스를 호출 할 수 있습니다

startActivity(new Intent("com.android.myproject.THIS_IS_MY_ACTION")); 
0

당신이 어떤 인터페이스를 (구현 시도 할 수 있습니다 또는 아마도 추상적 인 클래스)를 사용하여 메인 클래스를 설명 할 수 있습니다.

그리고 라이브러리에 쓰는 클래스에서 인터페이스 개체를 인스턴스화하십시오.

관련 문제