我开发了一个Android应用程序,对于那个应用程序,我需要在设备启动时启动我的应用程序。任何人都可以告诉我该怎么做? 谢谢你的帮助。
答案 0 :(得分: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);
}
}
答案 1 :(得分:1)
您需要按照
等步骤进行操作 1)注册一个行动"android.intent.action.BOOT_COMPLETED"
2)然后在接收者的onReceive方法中,您可以开始您的活动/服务或采取任何行动作为您的要求。你已经在申请中了。
不要忘记在清单文件中添加相应的权限
答案 2 :(得分:0)
使用具有android.intent.action.BOOT_COMPLETED作为intent-filter操作的广播接收器,在AndroidManifest中注册然后在onReceive方法上,启动所需的应用程序组件。
答案 3 :(得分:0)
您应该注册一个BroadcastReceiver
,然后在该接收者中收听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"/>