목표: 모드에 따라서 세가지 화면이 있기 때문에, 시작할 때 해당 모드에 따라서 다른 액티비티를 띄워야 합니다.
제가 원하는 방식은 아예 화면이 뜨지 않는 것인데(마치 service와 같이 UI가 안뜨는...)
가장 처음 시작하는 activity의 테마를 아래와 같이 넣어도 어쨋든 화면이 뜨긴 뜨더군요.
<style name="Theme.NoTitle.NoBackground" parent="android:Theme">
<item name="android:windowBackground">@null</item>
<item name="android:windowNoTitle">true</item>
</style>
activity이지만 화면을 안띄울수있는 방식이 존재할까요??
다른 방안으로는 한 activity안에 layout을 3가지를 두어 처음 시작시 분기하는 방식도 가능하지만..
혹시 화면을 안띄우는 방식이 존재하는지 알고 싶습니다.
감사합니다.
테스트해보니까 dialog이기때문에 엑티비티 호출하는 애니메이션도 뜨지 않고, startActiviy후에 finish() 시켜주니 아예 dialog자체가 뜨지 않는 것처럼 보이네요. (확인을 위해서 아래와 같이 딜레이를 주고 startActivity를 실행해봤는데도 dialog가 뜨지 않는 것처럼 보이며 잘동작하네요.=> 이부분은 약간 의문이 드는데.. 딜레이를 주기 전에 이미 화면 구성이 되있을꺼라고 생각했는데 그렇지는 않네요...)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new Handler().postDelayed(new Runnable()
{
@Override
public void run()
{
startActivity(new Intent(MainActivity.this, TestActivity.class));
}
}, 3000);
finish();
}
다시한번 감사드립니다. ^^
Manifast 의 <Activity .. android:theme="@android:style/Theme.Dialog" .. > 요렇게 넣으시구요,
Activity onCreate() 에서 startActivity (intent); 로 원하시는 작업을 하면 됩니다.