2014-06-09 2 views
0

를 시작하지 않습니다 - 내 활동 (XYZ) 내가 매니페스트 파일에 = "true"를 내 보낸에 대한다음과 같이 나의 목적은 내가 trrigger과 의도를 원하는 활동

Intent intent = new Intent(); 
intent.setClassname(packagename, activity path for my activity say 'xyz'); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK); 
startActivity(intent); 

.

이 의도는 원하는 활동 (xyz)을 시작하지 않고 내 활동의 제목을 새 창에 표시 한 다음 Settins 활동을 표시합니다.

어디에 문제가 있을지 잘 모르겠습니다. 두 활동 모두 다른 패키지에 있습니다.

답변

0

아, 마지막으로이 문제를 해결했습니다. 문제를 만드는 일부 잘못된 링크가 있습니다. 그래서 인 텐트를 통해 실행하려는 활동에 대한 AndroidManifest 파일에 메타 데이터를 추가했습니다. 이 같은

뭔가 : -

<activity android:name="abc$xyz" 
    <meta-data android:name="com.vivek.abc.FRAGMENT_CLASS" 
     android:value="com.vivek.abc.xyz" /> 
    <meta-data android:name="com.vivek.abc.PARENT_FRAGMENT_CLASS" 
     android:value="the parent activity name" /> 
</activity> 

그리고 이것은 완벽하게 나를 위해 일했습니다.

유 내가 다른 패키지에 내 원하는 활동이 :)

0

이이 방법으로 시도 도와주세요 : 다음

Intent intent = new Intent(CurrentActicity.this, TargetActivity.class);

를 원하는 플래그를 설정하고 전화 startActivity();

+0

을 돕기 위해 노력하는 사람들 모두 감사합니다, 그래서 내가 intent.setClassName()로 호출해야합니다 생각 ....하지만 원하는 활동을 개방하지 ... 그것은 단지 내 원하는 활동으로 제목과 blanck 활동을 깜박하고 다음 모두 사라졌고 설정을 엽니 다. –

+0

내 원하는 활동이 패키지 외부의 다른 클래스에서 호출 될 수 있도록 안드로이드 매니페스트의 모든 권한이 필요합니까? –

+0

아니요, 현재 활동에 패키지를 포함시켜야합니다. – Gooey

1

활동 한 :

Intent i = new Intent(One.this, Two.class); 
//i.putExtra("result", data); //optional if you want pass some data 
startActivity(i); 

//optional to get data: 

활동 두 : 귀하의 플래그

Intent intent = getIntent(); 
String text = ""; 
if (intent.hasExtra("result")) { 
    text = intent.getStringExtra("result"); 
} else { 
    // no extras for result available. 
} 
+0

int가 getStringExtra를 사용하기 전에 hasExtra()를 사용하는지 확인하십시오. 그렇지 않으면 널 포인터 예외가 발생합니다. –

+0

@EmanuelSeibold 당신 말이 맞습니다. 원하는 경우이 대답을 편집 할 수 있습니다. –

+0

ur 도움을 주셔서 감사합니다 ...하지만 didnot 작동 ...... 내 원하는 활동은 몇 초 동안 표시하고 다른 활동 appeaars –

0

은 당신이 기존의 모든 플래그를 overrite합니다 SETFLAGS 이후 addFlags 대신 SETFLAGS를 사용주의

Intent i = new Intent(this.getClass(), xyz.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); 
startActivity(i); 

의 setupted.

관련 문제