2012-02-10 3 views
3

私は再起動時にブロードキャスト受信機を使用しましたが、ランチャー画面を表示しますが、自動的にデフォルトの家を起動しません...自分のアクティビティを選択して...自動的に自分のアクティビティを起動する必要がありましたか? ...ここに私の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

あなたは私の答えをチェックしましたか? – Lucifer

答えて

2

あなたがhereのための例をダウンロードすることができ

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()); 
    } 
} 

、BroadcastReceiver内のコードを次のようにあなたに必要です。

1

ホーム画面アプリケーションを作成する場合は、BroadcastReceiverを使用する必要はありません。あなたが使ったアクションとカテゴリのアクティビティは十分です。電源がONになったら、アンドロイドシステムはカテゴリHOMEとDEFAULTのすべてのアプリをリストに表示しますので、ホームスクリーンアプリを選択してリストの下にあるチェックボックスをチェックしてデフォルトにしなければなりません。 HOMEボタンを押すたびにホームアプリを選択することができます。

Androidの例ホームサンプルを確認すると、新しいホームスクリーンアプリケーションを作成するのに役立ちます。

関連する問題