Androidで始めたばかりで、BroadcastReceiverを読み上げていました。MainActivityはアラーム時間を数秒で取得するためにのみ使用されていたため、レイアウトXMLファイルはAndroidでのアクティビティです。つまり、起動時にビューが表示されず、レシーバーが正常にセットアップされるアプリを作成することは可能ですか?
答えはイエスです、可能です。アクティビティにUIは必要ありません。ドキュメントで言及されている、例えば:
アクティビティは、ユーザーが実行できる単一の集中的な作業です。ほとんどすべてのアクティビティはユーザーと対話します[...]
( http://developer.Android.com/reference/Android/app/Activity.html を参照)
関連SO質問: https://stackoverflow.com/a/12817384/534471
例えばレイアウトなしでアクティビティからトーストを表示するには、次のようにマニフェストでアクティビティを定義します。
<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>
コードは次のようになります。
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();
}
}
UIなしでアクティビティを実装できます。マニフェストでは、Android:theme="@Android:style/Theme.NoDisplay"
を指定できます。 this を見てください
UIを持たないサービスを実装することもできるので、レイアウトをインフレーションする必要はありません。サービスはバックグラウンドで実行され、ビューは表示されません。 Androidトレーニング および APIガイド を見て、サービスの詳細をご覧ください
Androidの コンテキストとは何か についてもっと理解する必要があると思います。 BroadcastReceiverはActivityとは異なり、レイアウトのインフレーションは必要ありません。