0

重複の可能性:
ICS の BroadcastReceivers

受信した起動時に他のアプリケーションを呼び出す起動受信機がありますが、これは froyo で正常に機能しました。しかし、ICSで実行しようとすると機能せず、インテントが呼び出されません! これは、マニフェストに登録されている Boot Receiver です。

   <receiver android:name=".MyBroadCastReceiver" >
        <intent-filter>
           <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.intent.action.QUICKBOOT_POWERON" />

        </intent-filter>
    </receiver>

これは私の放送受信機クラスです

public class MyBroadCastReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub


     if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
            Intent i = new Intent(context, BootActivity.class);
          i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(i);


    }else{

    }
}}

なぜこれが機能しないのですか... ICSで機能させる他の方法はありますか??

4

1 に答える 1

0

3.1 以降では、アプリケーションがインストールされると「停止」状態になるため、ユーザーが明示的に起動するまで実行できません。強制停止を押すと、この状態に戻ります。

その結果、アプリケーションが最初にインストールされたとき、ユーザーが手動で何かを起動するまで (ほとんどの場合、ランチャー アクティビティをクリックするか、アプリ ウィジェットを追加するなど)、アプリケーションはシステムによって完全に無視されます。

ユーザーの介入なしにある種のシステム ブロードキャストを取得することに依存していた開発者は、Android 3.1 用にアプリを調整する必要があります。

于 2012-09-10T10:21:35.077 に答える