每个活动都必须有布局吗?

ank*_*981 25 android android-layout android-activity

我刚刚开始使用Android并正在阅读BroadcastReceiver.由于MainActivity仅用于以秒为单位获取闹钟时间,因此我想到布局XML文件是否必须适用于Android中的每个活动.我的意思是,有没有可能有一个应用程序,在启动时,显示没有视图,但成功设置接收器?

Ema*_*lin 40

答案是肯定的,这是可能的.活动不必具有UI.它在文档中提到,例如:

活动是用户可以做的单一,专注的事情.几乎所有活动都与用户互动[...]

(请参阅http://developer.android.com/reference/android/app/Activity.html)

相关问题:https://stackoverflow.com/a/12817384/534471

要从没有布局的活动中显示Toast,您可以在清单中定义活动,如下所示:

<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>
Run Code Online (Sandbox Code Playgroud)

代码如下所示:

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();
    }
}
Run Code Online (Sandbox Code Playgroud)


Dul*_*nga 9

您可以在没有UI的情况下实现Activity.在清单中,您可以指定android:theme="@android:style/Theme.NoDisplay".看看这个

您还可以实现没有任何UI的服务,因此您不需要布局通胀.服务只在后台运行,不显示任何视图.请查看Android培训API指南,了解有关服务的更多信息