마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

설치시 앱목록에 안나오게는 가능한데...실행하는법......

0 추천
<category android:name="android.intent.category.LAUNCHER" />

매니페스트에 이부분만 지우면 앱목록에 안나오는건 확인됐는데...

실행을 시켜야되는데 실행이 안되네요....

Activity 하나만 띄우면 되는건데 실행시킬 방법없을까요..?
아직도초보 (3,030 포인트) 님이 2013년 10월 28일 질문

2개의 답변

+1 추천
 
채택된 답변
어떤 이벤트에 걸어야 하구요

단독으로 앱만 실행하는 법은 없습니다.

리시버에 가는게 가장 쉬운방법이긴하죠.
지이소프트 (2,870 포인트) 님이 2013년 10월 28일 답변
아직도초보님이 2013년 10월 28일 채택됨
그렇군요....
외부에서 intent 들어오는게 아니면 단독적인 진입은 불가능하다 이 말씀맞죠?ㅎㅎ
실행아이콘이 없으니 사용자가 시작시킬수가 없죠.
보통 이런기능 쓰는 앱은 특정번호로전화를 걸게해서 이벤트를 따서 앱을 콜하죠.
으악 ㅠㅠ 무슨말씀인지 잘 모르겠어요....
앱을 실행시키기위해서 전화를 거는거예요? 자세하게좀 알수 있을까요?ㅠㅠ
음...마켓에 앱차단 해주는 앱들보면 아이콘 숨김기능이 있습니다.
그 앱들은 실행하고 싶을때 보통 특정 번호로 전화를 걸게 합니다.
전화걸림 브로드캐스트를 님이 만든앱이 받아서 startactivity를 해주면 되는것이죠.
시작해주는 intent 플래그에 newtask 항목 넣어서 콜 해주면 액티비티 뜰겁니다.
물론 방법은 많습니다. 브로드캐스트 리시버를 걸수있다면 어떤 이벤트든 다 가능해요.
메니페스트를 수정해서 홈에서 앱을 실행하지 못하도록 했다면 홈 외에 다른 곳에서 해당 앱을 실행 시켜 주어야 하는데 그 방법은 구현하기 나름입니다.
1. 시스템 인텐트를 받는 리시버를 등록해서 실행한다.
2. 타 앱에서 해당 앱을 호출한다.(여기에는 다양한 방법이 있으니 찾아 보시기를)
보통은 이 범주에서 해결이 됩니다.

정확히 어떤 상황에서 Activity를 실행 시키는지 자세한 내용이 없으니 일반적인 방법 말곤 알려드릴게 없네요.
타앱에서 호출하기를 시도하고 있는데요...
Intent intent = this.getPackageManager().getLaunchIntentForPackage("패키지명"); startActivity(intent); 이런식으로는 호출이 안되네요...ㅠㅠ 조금만더 디테일한 방법좀 알려주세요 ㅠㅠ
.getLaunchIntentForPackage("패키지명"); 이건 해당 패키지의 Luancher 카테고리 설정 되어있는 activity를 실행하는 Intent를 만들어 주는건데 Luancher 카테고리를 삭제하셨으니 실행이 안될거고요.
밑에 답변처럼 intent에 setClassName 사용해서 해당 패키지랑 클래스명 지정해서 사용하시면 됩니다. 클래스 명을 모르신다면... 그땐 좀 복잡하지만 PackageManager 이용해서 알아낼수는 있습니다.
+1 추천

public Intent setClassName (String packageName, String className)

위 함수 사용해서 인텐트 설정하고 해당 인텐트 startActivity 하시면 됩니다.

클래스 명은 풀네임으로 써주셔야 하고요.

아 이건 다른 액티비티나 리시버에서 실행시키는 방법입니다.

런처 카테고리 없이는 자체 진입은 안되요.

whitesnow (8,920 포인트) 님이 2013년 10월 28일 답변
넵! 자체적으로 진입은 안되는거군요...댓글 감사합니다 ㅠㅠ
...