2012-03-12 3 views
0

저는 개발중인 안드로이드 응용 프로그램을 가지고 있으며 응용 프로그램은 실제로 몇 가지 작업을 수행 한 다음 끝낼 때 종료됩니다. 지금은 버튼을 표시하는 액티비티가 있습니다. 프레스하면 버튼이 실행됩니다.android sdk 비 GUI 응용 프로그램 만들기

기본적으로 응용 프로그램을 실행하면 해당 작업이 실행되고 응용 프로그램이 닫히는 응용 프로그램이 필요합니다. GUI를 만들지 않는 액티비티를 만들기위한 방법일까요? 지금 가장 만족스러운 XML 파일 목록도

 <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 

변경해야합니까?

답변

1

당신은 실제 작업을 수행 활동에서 서비스를 시작한 다음 finish()를 호출 할 수 있습니다. 그러면 작업이 닫히고 GUI가 표시되지 않습니다. 서비스가 새 스레드에서 작업을 실행하는지 확인하십시오. 그렇지 않으면 여전히 UI 스레드를 차단할 것이기 때문입니다. 또한 서비스가 다시 시작될 수 있으므로이 문제를 처리 할 준비를하십시오.

+0

방금 ​​작업에서 작업을 수행하고 완료를 호출 할 수 있습니까? –

+0

할 수는 있지만 훨씬 쉽고 안정적이지는 않습니다. 작업을 수행하기 위해 새 스레드를 시작해야하지만 일단 finish()를 호출하면 활동 (프로세스)이 백그라운드로 진행되고 사용자가 다른 작업을 시작하면이 작업이 종료 될 확률이 높아집니다. 이 서비스는 백그라운드에서 작동하도록 설계되었으므로 작업을 완료 할 수있는 더 많은 기회를 갖게됩니다. –

+0

감사합니다. –

1

활동을 투명하게 만들 수 있습니다. 스타일 다른 곳

<activity android:name:"MyActivity" android:theme="@style/Theme.Transparent"> 
</activity> 

:

<style name="Theme.Transparent" parent="android:Theme"> 
    <item name="android:windowIsTranslucent">true</item> 
    <item name="android:windowBackground">@color/semitransparent</item> 
    <item name="android:windowContentOverlay">@null</item> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:windowIsFloating">true</item> 
    <item name="android:backgroundDimEnabled">false</item> 
</style> 
<color name="semitransparent">#80000000</color> 
+0

실제로 백그라운드에서 실행 상태를 유지할 필요가 없으므로이를 수행 할 필요가 있습니까? 화재와 잊기가 더 힘듭니다. –

관련 문제