Java Android:为什么在启动时创建片段之前不调用广播接收器?
请原谅我的误解,但我正试图确定我的android设备何时从断电状态启动。当设备启动时,我能够成功地接收广播,但是,这是在创建活动和片段之后完成的 首先,这是我的代码: AndroidManifest.xml:Java Android:为什么在启动时创建片段之前不调用广播接收器?,java,android,android-fragments,Java,Android,Android Fragments,请原谅我的误解,但我正试图确定我的android设备何时从断电状态启动。当设备启动时,我能够成功地接收广播,但是,这是在创建活动和片段之后完成的 首先,这是我的代码: AndroidManifest.xml: <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <application .... <receiver android:na
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application
....
<receiver android:name=".ui.BootCompleteReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
....
</application>
MainActivity.java:
public class MainActivity extends Activity
{
private static final String TAG = "MyActivity";
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Toast.makeText(getBaseContext(), "MainActivity onCreate", Toast.LENGTH_SHORT).show();
Toast.makeText(getBaseContext(), "MainActivity isRebooted = "
+ Singleton.getInstance().isRebooted, Toast.LENGTH_SHORT).show();
setContentView(R.layout.activity_main);
}
}
MainFragment.java:
public class MainFragment extends VerticalGridFragment
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Toast.makeText(getActivity(), "MAINFRAGMENT onCreate", Toast.LENGTH_SHORT).show();
}
...
}
Singleton.java:
public class Singleton
{
private static Singleton ourInstance = new Singleton();
public static boolean isRebooted = false;
// Private constructor to contain only one instance of a Singleton
private Singleton()
{
}
public static Singleton getInstance()
{
// If no instance of a Singleton exist, create one
if (ourInstance == null)
{
ourInstance = new Singleton();
}
return ourInstance;
}
}
在放入一些toast消息后,我看到MainActivity toast消息被称为first,它创建MainFragment。之后,当我从BroadcastReceiver接收到Toast消息时,片段被创建
是否可以在创建main片段之前先调用BroadcastReceiver?也显示您的
Singleton.java
。
public class Singleton
{
private static Singleton ourInstance = new Singleton();
public static boolean isRebooted = false;
// Private constructor to contain only one instance of a Singleton
private Singleton()
{
}
public static Singleton getInstance()
{
// If no instance of a Singleton exist, create one
if (ourInstance == null)
{
ourInstance = new Singleton();
}
return ourInstance;
}
}