我正在开发一个 android 应用程序,对于该应用程序,我需要在设备启动时启动我的应用程序。谁能告诉我该怎么做?谢谢你的帮助。
问问题
302 次
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 回答