3

現在、viewPager 内に 3 つのフラグメントがあります。フラグメントの 1 つは a を登録するBroadcastReceiverことですが、現在の実装では何も得られません。

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onActivityCreated(savedInstanceState);
    getSherlockActivity().getApplicationContext().registerReceiver(
        broadcastReceiver,
        new IntentFilter(UpdateService.UPDATE_NOTIFICATION));
    optionsBroadcast = true;
}

whereoptionsBroadcastは、boolean呼び出されたサービスを追跡するために使用される値でbroadcastReceiver、次のとおりです。

public BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        Log.i("onBroadcastReceiver", "service is being called ?");
        updateOptionsMenu(intent);
    }
};

また、 unRegister ロジックをonPauseand内に実装しましたonResume

サービスクラスで:

public class UpdateService extends Service{

    Intent updateIntent;
    public static final String UPDATE_NOTIFICATION =  "com.eps.support.updatenotification";

    @Override
    public IBinder onBind(Intent arg0) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public void onCreate() {
        // TODO Auto-generated method stub
        updateIntent = new Intent(UPDATE_NOTIFICATION);
        new CheckUpdates().execute(getApplicationContext());
    }



    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        // TODO Auto-generated method stub

        Log.i("inside service", "onStartCommand");
        return START_STICKY;
    }


    public class CheckUpdates extends AsyncTask<Context, Void, String>{

        //URL parsing logic where either the setOnEqual() or setOnUpdate() is called.
    }

    public void setOnEqual(){
        updateIntent.putExtra("isUpdated", 1);
        sendBroadcast(updateIntent);

    }

    public void setOnUpdate(){
        updateIntent.putExtra("isUpdated", 2);
        sendBroadcast(updateIntent);
    }
}

クラスをサービスとして指すマニフェスト ファイルも更新しました。何らかの理由でサービスが機能しません。または、本来の処理を実行しません。setOnEqual()

サービスに登録すると、サービスはorが呼び出されたAsyncTask場所で呼び出します。サービスにすべてのエントリが設定されているため、それらのどれも呼び出されません。setOnEqual()setOnUpdate()Log

助けてください。

4

0 に答える 0