2012-03-12 7 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

実際にバックグラウンドで実行する必要はありませんので、実行する必要はありますか?それは、より多くの火災と忘れのです。 –

関連する問題