为什么手机启动时我的活动没有启动

  • 本文关键字:启动 活动 手机 android
  • 更新时间 :
  • 英文 :


我使用了广播接收器,当它重新启动时,它会显示启动器屏幕,但不会自动启动我的默认主页。。。我必须选择我的活动开始。。。如何自动启动我的活动。。。这是我的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() );
    }
}

你可以在这里下载一个例子。

最新更新