android启动时如何启动活动?

时间:2014-06-11 18:02:40

标签: java android broadcastreceiver

我有下一个代码:

public class BootCompleteReceiver extends BroadcastReceiver {


@Override
public void onReceive(Context context, Intent intent) {


    Intent startActivityIntent = new Intent("android.intent.action.MAIN");
    startActivityIntent.setClass(context, MainActivity.class);
    startActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivityIntent.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED + WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD + WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON + WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
    context.startActivity(startActivityIntent);

}}

清单:

<receiver android:name=".BootCompleteReceiver"  android:enabled="true"  android:exported="false"  android:label="BootCompleteReceiver">
        <intent-filter >

            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <category android:name="android.intent.category.HOME"/>
        </intent-filter>
    </receiver>

当我打开活动开始的设备时,它工作得很好,但我认为它需要大约30秒,我认为是太多时间,我想做类似Famigo的应用程序,当设备是马上开始。

2 个答案:

答案 0 :(得分:0)

您无法加速此过程。您的设备需要30秒,因为程序必须等到您的设备完全启动。 Boot_Completed是系统在引导后发出的第一个通知。

Google故意这样做是为了防止应用在系统完成启动之前启动。

答案 1 :(得分:0)

收到呼叫BootComplete Receiver后,接收器将在启动后启动完成。 大约需要30秒。 你无法在操作系统之前启动应用程序!