0

我正在开发一个 android 应用程序,对于该应用程序,我需要在设备启动时启动我的应用程序。谁能告诉我该怎么做?谢谢你的帮助。

4

4 回答 4

1

您应该首先为此添加权限

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

然后在你的清单中定义一个接收器,

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

然后在您的代码中定义接收器

public class BootUpReceiver extends BroadcastReceiver{

    @Override
    public void onReceive(Context context, Intent intent) {
            Intent i = new Intent(context, MyActivity.class);  
            i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(i);  
    }

}

于 2013-07-20T12:15:56.650 回答
1

您需要按照以下步骤操作

1) 用动作注册一个广播接收器"android.intent.action.BOOT_COMPLETED"

2)然后在接收器的 onReceive 方法中,您可以开始您的活动/服务或根据您的要求采取任何行动。在这里,您已经在您的应用程序中。

不要忘记在清单文件中添加相应的权限

这是相同的问题/对话

于 2013-07-20T12:16:43.380 回答
0

使用具有 android.intent.action.BOOT_COMPLETED 作为意图过滤器操作的广播接收器,在 AndroidManifest 中注册,然后在 onReceive 方法上,启动所需的应用程序组件。

于 2013-07-20T12:15:40.647 回答
0

您应该注册 aBroadcastReceiver然后ACTION_BOOT_COMPLETED在该接收器中侦听事件。

public class yourBroadcastReceiver extends BroadcastReceiver{

    @Override
    public void onReceive(Context ctxt, Intent intent) {
        // TODO Auto-generated method stub
        if(Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
            Intent selfIntent = new Intent(Intent.ACTION_MAIN);
            selfIntent.setClass(ctxt,  DestActivty.class);
            selfIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            ctxt.startActivity(selfIntent);                         
        }
    }

}

您还需要修改文件并在节点AndroidManifest中注册此接收器Application

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

这也是

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
于 2013-07-20T12:25:10.947 回答