我使用了广播接收器,当它重新启动时,它会显示启动器屏幕,但不会自动启动我的默认主页。。。我必须选择我的活动开始。。。如何自动启动我的活动。。。这是我的androidmanifest.xml
<uses-sdk android:minSdkVersion="7" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
>
<receiver android:name=".receiver.onPhoneReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<activity
android:name=".DisableHomeActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
对于创建主屏幕应用程序,不需要使用BroadcastReceiver
。您使用的带有操作和类别的活动就足够了。开机后,安卓系统将在列表中显示类别为HOME和DEFAULT的所有应用程序,您必须选择主屏幕应用程序,并通过选中列表下方的复选框将其设为默认应用程序,因此从下次开始,无论何时按下HOME按钮,它都不会要求您选择主应用程序。
查看Android示例主页示例,它可能会帮助您创建一个新的主屏幕应用程序。
您需要在BroadcastReceiver、中执行以下代码
public void onReceive(Context context, Intent intent)
{
System.out.println ( "Application Started" );
// put your TimerTask calling class here
try
{
Intent myIntent = new Intent ( context, AutoStartExampleActivity.class );
myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(myIntent);
}
catch ( Exception e )
{
System.out.println ( " Error while Starting Activity " + e.toString() );
}
}
你可以在这里下载一个例子。