UI없이 활동을 시작하는 방법은 무엇입니까?
UI없이 주 기능에서 활동을 시작할 수 있습니까? 즉, 다른 활동 주위에 일종의 "래퍼"를 만드는 방법이 있습니다. 즉, 주 활동을 시작하면 자동으로 다른 활동으로 이동합니다.
가능하지 않은 경우 뒤로 버튼을 클릭해도 빈 UI로 이동하지 않도록 스택에서 기본 활동을 제거하는 방법이 있습니까? 다음은 내가하려는 작업의 예입니다.
public class WrapperActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:555-1212"));
startActivity(intent);
}
}
Intent 플래그를 추가해야합니다.
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
또는
인 finish();
텐트를 실행 한 후 " "를 호출 합니다.
Android는 또한이를 위해 특별히 테마를 제공합니다.
android:theme="@android:style/Theme.NoDisplay"
매니페스트에서 활동을 선언 할 때 테마를 사용합니다. "@android:style/Theme.Translucent.NoTitleBar"
전의:
<activity android:name="yourActivityName" android:label="@string/app_name" android:theme="@android:style/Theme.Translucent.NoTitleBar">
Android 6.0 이상을 사용하거나 Target SDK가 23 이상인 경우 테마 android:theme = "@android:style/Theme.NoDisplay"
가 있으면 오류와 함께 충돌이 발생 did not call finish() prior to onResume() completing
합니다. 사실 이것은 Google 개발자가 여기에서 인식 한 버그 입니다.
따라서 해결 방법으로 다음 테마가있는 활동을 사용하는 것이 좋습니다.
android:theme = "@android:style/Theme.Translucent.NoTitleBar"
사용
<activity android:name="yourActivityName" android:label="@string/app_name" android:theme="@android:style/Theme.Translucent.NoTitleBar">
Brian515가 언급 한 것은 훌륭하게 작동합니다. 이 메서드는 사용자에게 UI를 표시 할 필요없이 호출, 시작, 서비스 등을 결정하는 진입 점 Activity를 만드는 데 유용합니다. finish()
의도를 시작한 후에 사용하는 것을 잊지 마십시오 .
나는 이것이 당신에게 많은 도움이 될 것이라고 생각합니다.
<activity android:name = "MyActivity"
android:label = "@string/app_name"
android:theme = "@android:style/Theme.NoDisplay" >
여기에 묻는 질문과 유사 합니다. 기록 스택에서 활동 제거
그렇다면 다음을 사용할 수 있습니다.
FLAG_ACTIVITY_NO_HISTORY
이것은 스택에서 활동을 지우는 데 작동합니다.
최근 앱에서 제외해야하는 경우 (홈 키를 길게 누름) 다음 플래그를 사용할 수 있습니다.
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
나는 전체 활동 스택을 백그라운드에 두는 데 사용 moveTaskToBack(true)
했습니다 onResume()
.
@android:style/Theme.Translucent.NoTitleBar"
위의 답변 중 일부에서 언급 한대로 매니페스트에 추가하십시오 .
또한 setContentView(R.layout.your_activity);
activity.java 파일에서 행을 제거 하십시오.
UI와 상호 작용하지 않는 경우 수행하려는 작업은 Android 서비스처럼 들립니다.
참고 URL : https://stackoverflow.com/questions/2704084/how-to-launch-an-activity-without-a-ui
'developer tip' 카테고리의 다른 글
MVC 3 문자열을 뷰의 모델로 전달할 수 없습니까? (0) | 2020.11.22 |
---|---|
타임 스탬프로 핑 (0) | 2020.11.22 |
Android의 스피너 배경 디자인 및 색상을 변경하는 방법은 무엇입니까? (0) | 2020.11.22 |
부트 스트랩의 고정 바닥 글 (0) | 2020.11.22 |
Android appcompat-v7 : 21.0.0 재질 확인란 색상 변경 (0) | 2020.11.22 |