Android activity/service 开机启动
2011-10-20 16:19
381 查看
1. 在AndroidManifest.xml中添加权限和监听的intent.
注意receiver的位置,不在application中不起作用。
2. Activity
3. 继承类BroadcastReciver写一个接收开机完成的类
注意:得有TASK flag.
如果是service
这样开机完成后就会启动此应用。
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.oms.netwapswitch" android:versionCode="1" android:versionName="1.0"> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".NetWapSwitch" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name=".WapBroadcastReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> </application> </manifest>
注意receiver的位置,不在application中不起作用。
2. Activity
package com.oms.netwapswitch; import android.os.Bundle; import android.preference.PreferenceActivity; public class NetWapSwitch extends PreferenceActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.waplink); } }
3. 继承类BroadcastReciver写一个接收开机完成的类
package com.oms.netwapswitch; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; public class WapBroadcastReceiver extends BroadcastReceiver{ private String TAG = "NetWapSwitch"; @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action.equals("android.intent.action.BOOT_COMPLETED")) { Log.d(TAG, "Start *****************************"); Log.d(TAG, "Start *****************************"); Log.d(TAG, "Start *****************************"); Intent newIntent = new Intent(context, NetWapSwitch.class); //newIntent.setAction("android.intent.action.MAIN"); //newIntent.addCategory("android.intent.category.LAUNCHER"); newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(newIntent); } } }
注意:得有TASK flag.
如果是service
Intent service = new Intent(MyService.ACTION_START); service.setClass(context, MyService.class); context.startService(service);
这样开机完成后就会启动此应用。
相关文章推荐
- Android开机启动Activity或者Service方法
- Android开机启动Activity或者Service方法(转载)
- Android开机启动Activity或者Service方法
- Android开机启动Activity或者Service方法
- android 开机自启动:启动activity、service
- 【Android开机启动Activity或者Service方法】
- Android开机启动Activity或者Service方法
- android开机自动启动service或者activity
- Android开机启动Activity或者Service方法
- Android开机启动Activity或者Service方法
- Android开机启动Activity或者Service方法
- android开机自动启动service或者activity
- Android开机启动Activity或者Service方法
- 【Android开机启动Activity或者Service方法】
- Android开机启动Activity或者Service方法---------------一直保持欲行
- 【Android开机启动Activity或者Service方法】
- Android开机启动Activity或Service
- Android开机启动Activity或者Service方法
- Android开机自启动service,并不启动activity
- Android Service或Activity开机自启动及自启动失败原因