Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
广播接收器android.intent.action.BOOT_已完成,不工作_Android_Broadcastreceiver_Android Service_Android Broadcastreceiver - Fatal编程技术网

广播接收器android.intent.action.BOOT_已完成,不工作

广播接收器android.intent.action.BOOT_已完成,不工作,android,broadcastreceiver,android-service,android-broadcastreceiver,Android,Broadcastreceiver,Android Service,Android Broadcastreceiver,我试图启动启动完成后的服务,做了很多挖掘后,我没有发现任何东西 我尝试的第一种方法是,我在大多数答案中都发现了这种方法,但它不起作用 然后我发现这种方法在3.1+上不起作用 我也看到了, 在我的代码中也使用了标记INCLUDE\u STOPPED\u包 雄激素血症 BootService 代码运行完美,当服务从活动启动时,我得到了所有日志,但在启动完成时,它不工作 注意: 我已经阅读了几乎所有相关的答案,在一些答案上,我也阅读了评论,我知道几乎所有相关的事情,所以请不要给我提供其他链接,因为

我试图启动启动完成后的服务,做了很多挖掘后,我没有发现任何东西

我尝试的第一种方法是,我在大多数答案中都发现了这种方法,但它不起作用

然后我发现这种方法在3.1+上不起作用

我也看到了,

在我的代码中也使用了标记INCLUDE\u STOPPED\u包

雄激素血症

BootService 代码运行完美,当服务从活动启动时,我得到了所有日志,但在启动完成时,它不工作

注意: 我已经阅读了几乎所有相关的答案,在一些答案上,我也阅读了评论,我知道几乎所有相关的事情,所以请不要给我提供其他链接,因为我已经看到了大部分,我需要完美的解决方案。感谢您的帮助。

在清单文件中:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
服务等级

public class NotifyingDailyService extends Service {

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

   @Override
     public int onStartCommand(Intent pIntent, int flags, int startId) {
    // TODO Auto-generated method stub
     Toast.makeText(this, "NotifyingDailyService",     
      Toast.LENGTH_LONG).show();

      Log.i("com.example.bootbroadcastpoc","NotifyingDailyService");

     return super.onStartCommand(pIntent, flags, startId);
      }
     }
别忘了

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

你能尝试添加另一个操作吗好的@nayansrivastava将不工作@nayansrivastava你检查权限了吗?只是一个建议。将来,如果你不想获得否决票,不要告诉人们“在否决票之前阅读所有内容”。不要写“我所有的代码都能完美工作,除了…”。不要写“我已经阅读了所有的答案和评论,所以请不要发布链接”。这让你看起来像一个自大的无所不知的人,但既然你有一个问题需要我们帮助你解决,你显然不知道所有的事情。所以将来,当问问题时,尽量保持谦虚。这将为你节省一些否决票。我已经尝试过这种方法,但没有成功@Rushican你能在不同的设备上测试同一个应用程序吗?好的,开始吧。@RUSHIAYYAppa已经在三星Gt-7262上试过了,但仍然没有得到任何结果@RUSHIAYYAppa这看起来很奇怪。代码都很好这根本不起作用,我已经第一次尝试了@Dr.Easyi在这两天创建了一个服务和接收器,效果很好:Oi想帮助你否决我,就像我在我的应用程序中那样,在启动时释放线程,但是使用try and catch,你能用代码告诉我在哪里吗@易博士
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<receiver android:name=".BootCompletedReceiver" >
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
        <action android:name="android.intent.action.QUICKBOOT_POWERON" />
    </intent-filter>
</receiver>

<service android:name="NotifyingDailyService" >
</service>
public class BootCompletedReceiver extends BroadcastReceiver {

  @Override
 public void onReceive(Context context, Intent arg1) {
  // TODO Auto-generated method stub
   Log.w("boot_broadcast_poc", "starting service...");
   context.startService(new Intent(context, NotifyingDailyService.class));
   }

  }
public class NotifyingDailyService extends Service {

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

   @Override
     public int onStartCommand(Intent pIntent, int flags, int startId) {
    // TODO Auto-generated method stub
     Toast.makeText(this, "NotifyingDailyService",     
      Toast.LENGTH_LONG).show();

      Log.i("com.example.bootbroadcastpoc","NotifyingDailyService");

     return super.onStartCommand(pIntent, flags, startId);
      }
     }
  <receiver android:name=".BootCompletedIntentReceiver"
        android:enabled="true"
        android:exported="true"
        >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>

    <service android:name=".Service"
        android:enabled="true"
        android:exported="true">

    </service>
          public class BootCompletedIntentReceiver extends BroadcastReceiver {
   public void onReceive(Context context, Intent intent) {

    if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
        Intent pushIntent = new Intent(context, Service.class);

        context.startService(pushIntent);}
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
public class BootService extends Service {
@Override
public IBinder onBind(Intent intent) {
    return null;
}

@Override
public int onStart(Intent intent, int startId) {
    //TODO do something useful Recommended by google instead of onStart()
     new Thread(new Runnable() {
        @Override
        public void run() {
            AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
            switch (am.getRingerMode()) {
                case AudioManager.RINGER_MODE_SILENT:
                    Log.e("MyApp", "Silent mode");
                    break;
                case AudioManager.RINGER_MODE_VIBRATE:
                    Log.e("MyApp", "Vibrate mode");
                    break;
                case AudioManager.RINGER_MODE_NORMAL:
                    Log.e("MyApp", "Normal mode");
                    break;

            }
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

        }
    }).start();
}




@Override
public void onDestroy() {
    super.onDestroy();
}
  }