开机后自动启动Activity中需要注意的
public class StartupReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {try {System.out.println("接受到广播");//Intent _intent = new Intent(context,OtherActivity.class);//_intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);Intent _intent = new Intent();_intent.setAction("com.michael.TEST");_intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(_intent);} catch (Exception e) {System.out.println(e);}}}
注:context.startActivity(_intent); 需要加上Flag:_intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
一种是显式 new Intent(context,OtherActivity.class);
注:一种是隐式_intent.setAction("com.michael.TEST");
隐式的intent-filter 需要加上 <category android:name="android.intent.category.DEFAULT" />
<activity android:name=".OtherActivity" > <intent-filter > <action android:name="com.michael.TEST" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>最容易忽略的就是: 测试代码是否正确。 要先运行程序在虚拟机。 然后重启系统!!!才能验证结果。第一次运行是不会验证的。
<div class="quote_title"> 写道
页:
[1]