Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.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_Service_Boot_Autostart - Fatal编程技术网

Android 如何正确地自动启动应用程序

Android 如何正确地自动启动应用程序,android,service,boot,autostart,Android,Service,Boot,Autostart,我的应用程序的自动启动功能有问题 我搜索了论坛,看到了很多建议,但似乎没有一个有效,我也不知道为什么 下面是BootUpReciver.java package com.???.???; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; import android.widget.Toa

我的应用程序的自动启动功能有问题

我搜索了论坛,看到了很多建议,但似乎没有一个有效,我也不知道为什么

下面是BootUpReciver.java

package com.???.???;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.widget.Toast;

public class BootUpReciver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
        //Intent pushIntent = new Intent(context, BackgroundService.class);
        //context.startService(pushIntent);

        Toast.makeText(context, "Device Booted", Toast.LENGTH_LONG).show();
        Log.d("TAG","Device Booted");

    }
}
}
这是我的清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.???.???"
android:versionCode="1"
android:versionName="1.0" >

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

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="17" />

<application
    android:theme="@android:style/Theme.Holo"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >

    <receiver android:name=".BootUpReciver">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />

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

    <activity
        android:name="com.???.???.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

当我重新启动手机时,我甚至看不到祝酒词,为什么?我该怎么办?我需要自动启动以获取一些SharedPref,并在每次启动时向文件写入一个值


谢谢。

在测试时,我发现如果我在onReceive中显示toast,那么它就不会显示。但如果我在onReceive中启动了一个活动,那么它就起作用了。所以你也可以检查这个。启动一个活动或服务并在那里执行任务。

调试并查看onreceive是否在bootStinePike之后调用,我如何才能做到这一点?我的意思是,在重新启动后是否可能进行调试?还是看一个日志事件?让我查一下。。所以,如果可以的话,请等待