2013-06-27 5 views
16

私はAndroidを使い始めていて、BroadcastReceiverを読んでいました。 MainActivityはアラーム時間をわずか数秒で取得するために使用されていたので、AndroidのすべてのアクティビティでレイアウトXMLファイルが必要かどうかは私には分かりました。つまり、起動しても表示されないが、受信者が正常に設定されるというアプリを持つことは可能でしょうか?すべてのアクティビティにレイアウトが必要ですか?

+1

おかげで、私はこれがあるとは思わない:

<activity android:name=".MainActivity" android:theme="@android:style/Theme.NoDisplay"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 

コードは次のようになりますので、同様にあなたがマニフェストに活動を定義し、レイアウトなしActivityからトーストを表示一般的な議論、または主観的な意見を生成する可能性があります。私はそのようなことが可能かどうかを尋ねています。私のポストから「一般的な議論」を削除すると思います。 – dotslash

+1

あなたはサービスについて考えていると思います... – EMarci15

+0

@ EMarci15:ありがとう!今夜はたくさんの読書があるようですね! :) – dotslash

答えて

27

答えは可能です。アクティビティにはUIは必要ありません。ドキュメントに記載されています(例:

アクティビティは、ユーザーが行うことができる単一のものです。 https://stackoverflow.com/a/12817384/534471

は、例えばするには:ほとんど すべての活動は

関連のSOの質問(http://developer.android.com/reference/android/app/Activity.htmlを参照)

[...]ユーザと対話します

public class MainActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     Toast.makeText(this, "I'm alive", Toast.LENGTH_LONG).show(); 
     finish(); 
    } 
} 
+0

。 。最初は、ユーザーがアプリをクリックし、Toastメッセージが表示されたとしましょう(たぶん5秒後)。しかし、それは活動でなければならず、(他の人が投稿したように)サービスでなければならない。可能? – dotslash

+0

はいトーストはアクティビティから表示されますが、5秒後に表示されるのはなぜですか?ユーザーは5秒間待たず... –

+0

アラームをスケジュールする他の方法もあります。アプリに既にアラーム時間がある場合は、アクティビティを開始する必要はありませんが、達成しようとしていることは実際には分かりません。 –

3

あなたはAndroidでwhat is contextの詳細を理解する必要があると思います。 BroadcastReceiverはActivityと異なり、レイアウトのインフレーションは必要ありません。

+0

Hmmm。 。 。興味深いリンク。共有ありがとう! – dotslash

+0

どのような素晴らしいリンク!私はAndroidで始まったときにそのリンクを見つけて欲しい!文脈をよく理解することが重要であり、私にとっては、把握しようとする最も曖昧なものの1つでした。 – Emmanuel

8

UIなしでアクティビティを実装できます。マニフェストでは、android:theme="@android:style/Theme.NoDisplay"を指定できます。 this

UIを持たないサービスを実装して、レイアウトインフレーションを必要としないようにすることもできます。サービスはバックグラウンドで実行され、表示されません。 詳細についてはAndroid TrainingAPI Guideをご覧ください。サービス

+1

あなたもありがとう!私はまもなくサービスについてお読みになります。 :) – dotslash

+0

あなたは大歓迎です。 – Dulanga

+1

このNoDisplayものは私の一日を保存しました! – Couitchy

関連する問題