Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.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 如何在设备启动时使用BroadcastReceivers启动GoogleAPI-ActivityRecognitionAPI?_Android_Google Api_Broadcastreceiver_Activity Recognition - Fatal编程技术网

Android 如何在设备启动时使用BroadcastReceivers启动GoogleAPI-ActivityRecognitionAPI?

Android 如何在设备启动时使用BroadcastReceivers启动GoogleAPI-ActivityRecognitionAPI?,android,google-api,broadcastreceiver,activity-recognition,Android,Google Api,Broadcastreceiver,Activity Recognition,我使用活动使用了这个API,它可以正常工作。我试着用这个广播接收器启动MainActivity,结果它成功了。但是,当我尝试这个,它崩溃了我的应用程序 我是否需要向意图添加标志?在这种情况下怎么做 我尝试了这些代码,但我的应用程序在启动时崩溃: 1广播接收机等级: 2活动识别服务 首先,我使用了此链接中使用的API:在AdnroidManifest.xml中添加必要的权限: <uses-permission android:name = "android.permission.RECEIV

我使用活动使用了这个API,它可以正常工作。我试着用这个广播接收器启动MainActivity,结果它成功了。但是,当我尝试这个,它崩溃了我的应用程序

我是否需要向意图添加标志?在这种情况下怎么做

我尝试了这些代码,但我的应用程序在启动时崩溃:

1广播接收机等级:

2活动识别服务


首先,我使用了此链接中使用的API:

在AdnroidManifest.xml中添加必要的权限:

<uses-permission android:name = "android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
之后,在清单文件中声明此接收者:

<receiver android:name="com.example.MyBroadcastReceiver">  
  <intent-filter>  
    <action android:name="android.intent.action.BOOT_COMPLETED" />  
  </intent-filter>  
</receiver>

现在,只要设备启动,服务就会自动启动。在AdnroidManifest.xml中添加必要的权限:

<uses-permission android:name = "android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
之后,在清单文件中声明此接收者:

<receiver android:name="com.example.MyBroadcastReceiver">  
  <intent-filter>  
    <action android:name="android.intent.action.BOOT_COMPLETED" />  
  </intent-filter>  
</receiver>

现在该服务将自动启动,每当设备启动时

寻找相同的解决方案,我能想到的最好办法是从启动时启动主应用程序,然后将其发送到后台。寻找相同的解决方案,我能想到的最好办法是从启动时启动主应用程序,然后将其发送到后台。
<receiver android:name="com.example.MyBroadcastReceiver">  
  <intent-filter>  
    <action android:name="android.intent.action.BOOT_COMPLETED" />  
  </intent-filter>  
</receiver>
public class MyIntentService extends IntentService {
  @Override
  protected void onHandleIntent(Intent i) {
    //Release the wake lock
    WakefulBroadcastReceiver.completeWakefulIntent(i);
  } 
}