Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.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 活动启动时,应用程序进程正在关闭_Android_Android Asynctask_Android Location - Fatal编程技术网

Android 活动启动时,应用程序进程正在关闭

Android 活动启动时,应用程序进程正在关闭,android,android-asynctask,android-location,Android,Android Asynctask,Android Location,我试图在后台运行应用程序,但当应用程序立即启动时,应用程序将关闭(不会出现错误)。我在主活动中使用了asynk任务 代码: 用于在启动时启动服务的广播接收器为 import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class MyBroadcastReceiver extends BroadcastReceiver {

我试图在后台运行应用程序,但当应用程序立即启动时,应用程序将关闭(不会出现错误)。我在主活动中使用了asynk任务

代码:

用于在启动时启动服务的广播接收器为

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class MyBroadcastReceiver extends BroadcastReceiver {

  public void onReceive(Context context, Intent intent) {
    Intent startServiceIntent = new Intent(context, MyService.class);
    startServiceIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startService(startServiceIntent);

  }
}
活动、服务和广播接收器的清单权限如下

<service android:enabled="true" android:name=".MyService">
            <intent-filter >
                <action android:name="com.android.trace.MyService"/>

            </intent-filter>
        </service>

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


    <activity
        android:name=".LocationStat"
        android:label="@string/title_activity_location_stat" >
        <intent-filter>
                <action android:name="android.intent.action.MAIN" /> 

             <category android:name="android.intent.category.LAUNCHER" /> 
        </intent-filter>

    </activity>


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


任何人都有同样的经历吗?

使用
服务
而不是
活动
来执行后台长期运行作业

您只能从主GUI线程在GUI上使用setText和其他操作。您正在尝试从已启动的后台线程执行此操作


您必须在PostExecute上实现AsyncTask函数并从中修改GUI。

内存不足,捕获日志onDestoy()方法

您是否在
android清单
文件中提到了您的接收者, 将这组代码添加到您的
清单文件中

 <receiver
        android:name=".MyBroadcastReceiver" >
        <intent-filter android:priority="1000">

            <action />

        </intent-filter>

    </receiver>

我试图仅为asynk任务干杯,但活动立即关闭,因此没有干杯。
<service android:enabled="true" android:name=".MyService">
            <intent-filter >
                <action android:name="com.android.trace.MyService"/>

            </intent-filter>
        </service>

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


    <activity
        android:name=".LocationStat"
        android:label="@string/title_activity_location_stat" >
        <intent-filter>
                <action android:name="android.intent.action.MAIN" /> 

             <category android:name="android.intent.category.LAUNCHER" /> 
        </intent-filter>

    </activity>


 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
 <receiver
        android:name=".MyBroadcastReceiver" >
        <intent-filter android:priority="1000">

            <action />

        </intent-filter>

    </receiver>