我在重新启动时使用了广播接收器,它显示了启动器屏幕,但没有自动启动我的默认主页...我必须选择我的活动才能启动...如何自动启动我的活动? ......这是我的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>
答案 0 :(得分:1)
要创建主屏幕应用程序,无需使用BroadcastReceiver
。您使用的操作和类别的活动就足够了。打开电源后,android系统会在列表中显示所有类别为HOME和DEFAULT的应用程序,你必须选择你的主屏幕应用程序,并通过选中列表下方的复选框将其设为默认值,所以从下次开始它就不会询问您可以在按HOME按钮时选择家庭应用程序。
查看Android示例 Home Sample ,它可以帮助您创建新的主屏幕应用程序。
答案 1 :(得分:0)
您需要在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() );
}
}
您可以下载here的示例。