Android 无法获取附加服务:(

Android 无法获取附加服务:(,android,android-intent,alarm,Android,Android Intent,Alarm,无论我做什么,我都无法从我的活动中获得额外的服务!!!这对我来说是至关重要的,我现在非常沮丧,我已经尝试了所有类型的旗帜!!!请帮助!我正在使用一个悬挂式帐篷,试图将额外的服务从意图传递到悬挂式帐篷,然后再传递到服务 This is my code for the PendingIntent part. public void actionSetup(boolean activitycreated[],int buttonclicked[]) { SharedPref

无论我做什么,我都无法从我的活动中获得额外的服务!!!这对我来说是至关重要的,我现在非常沮丧,我已经尝试了所有类型的旗帜!!!请帮助!我正在使用一个悬挂式帐篷,试图将额外的服务从意图传递到悬挂式帐篷,然后再传递到服务

This is my code for the PendingIntent part.

 public void actionSetup(boolean activitycreated[],int buttonclicked[])
    {
        SharedPreferences data=getSharedPreferences("ACTIVITY_DATA",MODE_MULTI_PROCESS);
        Calendar calendar=Calendar.getInstance();
        int origin=Integer.valueOf(buttonclicked[0]);
        myintent[buttonclicked[0]]=new Intent(getApplicationContext(),Handler.class);
        myintent[buttonclicked[0]].setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
        myintent[buttonclicked[0]].setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
        myintent[buttonclicked[0]].putExtra("origin",origin);
        myintent[buttonclicked[0]].setAction(String.valueOf(origin));
        stuff[buttonclicked[0]]=PendingIntent.getBroadcast(getApplicationContext(),buttonclicked[0],myintent[buttonclicked[0]],PendingIntent.FLAG_CANCEL_CURRENT);
              calendar.set(Calendar.MONTH,Calendar.getInstance().get(Calendar.MONTH));
              calendar.set(Calendar.YEAR,Calendar.getInstance().get(Calendar.YEAR));
              calendar.set(Calendar.DAY_OF_MONTH,Calendar.getInstance().get(Calendar.DAY_OF_MONTH));
              calendar.set(Calendar.HOUR_OF_DAY, data.getInt(buttonclicked[0]+"startimehour",1));
              calendar.set(Calendar.MINUTE, data.getInt(buttonclicked[0]+"startimeminute",1));
              calendar.set(Calendar.SECOND,0);
              if (data.getInt(buttonclicked[0]+"startimehour",1)>=12)
              {
                  calendar.set(Calendar.AM_PM,Calendar.PM);
              }
              else
              {
                  calendar.set(Calendar.AM_PM,Calendar.AM);
              }

              AlarmManager alarmManager= (AlarmManager) getSystemService(ALARM_SERVICE);
              alarmManager.set(alarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),stuff[buttonclicked[0]]);
              Log.i("value of da origin",String.valueOf(origin));

            }


        }
服务代码

public int onStartCommand(Intent intent, int flags, int startId)
    {
        Bundle exras=intent.getExtras();
        int origin=exras.getInt("origin");

      if(exras !=null ) {


          Log.i("AY", String.valueOf(origin));
      }
        SharedPreferences data=getSharedPreferences("ACTIVITY_DATA",MODE_MULTI_PROCESS);

        boolean daysselected [] []=new boolean[8][7];

        boolean [] [] functionsselected=new boolean[8][2];

        for(int m=0;m<=7;m++)
        {
                functionsselected[m][0]=data.getBoolean("silent"+m,false);
                functionsselected[m][1]=data.getBoolean("bluetooth"+m,false);
        }

        Calendar c= Calendar.getInstance();
        int dayofweek=c.get(Calendar.DAY_OF_WEEK);

        Handler.completeWakefulIntent(intent);
        stopSelf();

        return super.onStartCommand(intent, flags, startId);


    }
public int-onstart命令(Intent-Intent、int-flags、int-startId)
{
Bundle exras=intent.getExtras();
int origin=exras.getInt(“origin”);
如果(exras!=null){
Log.i(“AY”,String.valueOf(origin));
}
SharedReferences数据=获取SharedReferences(“活动数据”,模式多进程);
布尔日期选择[][]=新布尔值[8][7];
布尔[][]函数selected=新布尔[8][2];

对于(int m=0;m您看到的与您期望的相比是什么?您的
服务
是否已经启动?是的,我的服务已经启动。对不起,如果您想获得帮助,您必须提供有关您看到的与您期望的更多详细信息。如果您的
服务
实际上是从
挂起开始的,我会感到惊讶帐篷
因为创建的
PendingIntent
是一个广播。你需要注册一个
BroadcastReceiver
来处理
Intent
,然后它可以触发
Intent
来启动
服务
。反正我有一个广播接收器,我昨天解决了这个问题。