这段时间在做Android的基础开发,现在有一需求是开机启动,按照网上某些博文教程做了下,始终不成功,一开机总是提示所启动的应用程序意外终止,于是参考了Android SDK doc,终于解决问题,下面把自己的经验分享给大家。
- package?com.billhoo.study;?
- ?
- import?android.app.Activity;?
- import?android.os.Bundle;?
- ?
- public?class?BootTestActivity?extends?Activity?{?
- ????/**?Called?when?the?activity?is?first?created.?*/?
- ????@Override?
- ????public?void?onCreate(Bundle?savedInstanceState)?{?
- ????????super.onCreate(savedInstanceState);?
- ????????setContentView(R.layout.main);?
- ????}?
- }?
- package?com.billhoo.study;?
- ?
- import?android.content.BroadcastReceiver;?
- import?android.content.Context;?
- import?android.content.Intent;?
- ?
- public?class?BootCompletedReceiver?extends?BroadcastReceiver?{?
- ??@Override?
- ??public?void?onReceive(Context?context,?Intent?intent)?{?
- ????if?(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED))?
- ????{?
- ??????Intent?newIntent?=?new?Intent(context,?BootTestActivity.class);?
- ??????newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);??//注意,必须添加这个标记,否则启动会失败?
- ??????context.startActivity(newIntent);???????
- ????}???????
- ??}?
- }?
- <receiver?android:name=".BootCompletedReceiver">?
- ????<intent-filter>?
- ????????<action?android:name="android.intent.action.BOOT_COMPLETED"?/>?
- ????</intent-filter>?
- </receiver>?
- <!--?permissions?-->?
- <uses-permission?android:name="android.permission.RECEIVE_BOOT_COMPLETED"?/>?