2012-06-15 5 views
0

이것은 내 첫 번째 질문입니다. 어떤 시작 활동 질문도 검색했는데 나를 위해 일한 사람이 없습니다 (안드로이드 4.0.4), 다른 사람들을 위해 일합니다.설치된 활동 시작

은 이미 전화에 설치된 모든 활동의 목록을 가지고 있지만 나는 그들에게 그 코드가 실패

ComponentName cm= new ComponentName("com.sonyericsson.extras.liveview","com.sonyericsson.extras.liveview.LAUNCH"); 
intent.setComponent(cm); 
startActivity(intent); 

를 시작할 수 없습니다, 상수 문자열이 다를 수 나 "명시 적 활동을 ... 찾을 수 없습니다" 선택에 따라 이것이 작동하지 않는 방법이나 여기에서 발견 된 다른 해결책도 없습니다. Logcat은 아마도 manifest.xml에서 활동을 선언하지 않았다고 말합니다. 물론 ADW 실행기와 마찬가지로 모든 활동을 시작하려고하며 ADW 소스의 코드를 사용하려고했지만 작동하지 않았습니다. . 하지만 시도 | : 사전에 덕분에

+0

Sony Ericsson 전화에서 실행되는 코드에는 문제가 없지만 Motorola 또는 HTC 전화에서 실행하려고하면 패키지 호출 문제가 발생할 수 있습니다. – Sana

+0

감사합니다 sara,하지만 그 문자열은 지금까지는 변하지 않았습니다. 그러나 SE 내 전화기에서 작동하지 않는 방법은 다양합니다. – aguilar8325

+0

활동을 열면 LAUNCH에 패키지가 com으로 들어갑니다. sonyericsson.extras.liveview – Sana

답변

0

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setClassName("com.sonyericsson.extras.liveview", "com.sonyericsson.extras.liveview.LAUNCH"); 
startActivity(intent); 

나는 패키지의 이름을 확인하지만, 모든 CAPS되는 활동 이름 나 상처를 생각하십시오이를 사용하여 그것이 당신을 위해 작동하는지 알려주세요.

+0

고마워요! 이것은 내가 만든 방법입니다 : 'Intent intent = new Intent (Intent.ACTION_VIEW); intent.setClassName (activinfos.get (position) .packageName, activinfos.get (position) .name); startActivity (의도);' – aguilar8325

1

시도 대신

String app = "com.sonyericsson.extras/liveview"; 
Intent intent = new Intent(Intent.ACTION_MAIN);    
intent.setComponent(ComponentName.unflattenFromString(app));    
intent.addCategory(Intent.CATEGORY_LAUNCHER);    
startActivity(intent); 
+0

행운을 비네, logcat : android.content.ActivityNotFoundExceptio : 명시 적 클래스 {com.sonyericsson.extras/liveview}을 찾을 수 없습니다; AndroidManifest.xml에서 활동을 선언하셨습니까? 내 매니페스트는 다양 할 것이기 때문에 나중에 사용하면 설치된 모든 액티비티의 벡터에서 ActivityInfo 만 사용하므로 거기에서 액티비티와 패키지 문자열을 가져옵니다. 나는 모든 가정이나 발사대 응용 프로그램이 이것을하기 때문에 가능하다는 것을 알고 있습니다. ADW 코드가 복잡해 보입니다. – aguilar8325