안드로이드 개발 질문/답변
(글 수 40,700)
A.java와 B.java, C.java가 있습니다.
<A.java>
if(!c2dm_No.equals(null)){
Intent intent = new Intent();
intent.putExtra("test","ff");
intent.setClassName("com.test", "com.test.B");
PendingIntent content = PendingIntent.getActivity(ctx, 0, intent, 0);
}
<B.java>
Bundle extras = getIntent().getExtras();
if(extras != null)
{
if(extras.getString("test").toString().equals("ff")){
Log.d("Choi", "알람모드");
Intent intent = new Intent(B.this, C.class);
intent.putExtra("currenttap", "favorite");
startActivity(intent);
finish();
}
}
c2dm 메시지를 받아서 노티를 클릭하면 C화면으로 잘 넘어가는데....
그냥 앱을 실행시키면 B화면으로 가야하는데 자꾸 C화면으로 갑니다......
디버그 해봐도.....분명 노티를 안받았는데도...extras가 Null이 아니라고해서 조건문을 돌아버리네요.....
어떻해 하면 되는지...해결방법좀 알려주세요~
노티에서 들어가는 경로를 분기하시고...
클리어탑 하시면 됩니다..
ex. 제가 프로젝트때 썻던 거네요.... 칼라테마라 잘 안보이실수 있지만...능력껏..보시길..ㅠ.ㅠ
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
if ("run".equals(run)) {
intent.setClassName("kr.co.docdocdoc", "kr.co.docdocdoc.SplashScreen");
} else if ("start".equals(run)) {
intent.setClassName("kr.co.docdocdoc", "kr.co.docdocdoc.YoungDocMain");
}