问一个问题,有做过的同学帮忙看一下:
系统android 2.1我现在要实现程序自启动工程,搜索了一下,大致实现流程如下:实现一个BroadcastReceiver类,然后在其onReceive中判断系统启动时的ACTION_BOOT_COMPLETED 消息,如果收到消息,启动制定的Activity
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
Intent mBootIntent = new Intent(context, myproject.class);
mBootIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(mBootIntent);
}
}在AndroidManifest.xml 中指定相应的receiver & permission<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission><receiver android:name="StartupIntentReceiver"
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>上面的流程能实现开机自启动,但是有一个问题:程序启动后,按HOME键,然后在执行程序的时候,程序又从onCreate 开始执行,如果,手工启动的话,按HOME,再执行程序是从onresume 开始执行的 ?有没有遇到这个问题的?谢谢!
系统android 2.1我现在要实现程序自启动工程,搜索了一下,大致实现流程如下:实现一个BroadcastReceiver类,然后在其onReceive中判断系统启动时的ACTION_BOOT_COMPLETED 消息,如果收到消息,启动制定的Activity
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
Intent mBootIntent = new Intent(context, myproject.class);
mBootIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(mBootIntent);
}
}在AndroidManifest.xml 中指定相应的receiver & permission<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission><receiver android:name="StartupIntentReceiver"
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>上面的流程能实现开机自启动,但是有一个问题:程序启动后,按HOME键,然后在执行程序的时候,程序又从onCreate 开始执行,如果,手工启动的话,按HOME,再执行程序是从onresume 开始执行的 ?有没有遇到这个问题的?谢谢!
开机通过实现BroadcastReceiver类启动应用的 按Home后的堆栈改变正常启动下,程序堆栈的进与出 按Home后堆栈改变