android - 引导接收器不工作

标签 android broadcastreceiver boot

list :

         <application android:icon="@drawable/icon" android:label="@string/app_name">
            <activity android:name=".AlarmActivity"
                      android:label="@string/app_name">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                </intent-filter>
            </activity>
            <receiver android:name="CallReciver">
                <intent-filter>
                    <action android:name="android.intent.action.PHONE_STATE">  

</action>
                </intent-filter>
            </receiver>
            <receiver android:name=".SmsReceiver"> 
               <intent-filter android:priority="1000">
                    <action android:name=
                        "android.provider.Telephony.SMS_RECEIVED" /> 
                </intent-filter> 
            </receiver>
             <receiver android:name=".OnBootReceiver">
          <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
          </intent-filter>
        </receiver>
            <service
                android:enabled="true"
                android:name=".AlarmService">
            </service>
        </application>
         <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED">
         </uses-permission>
        <uses-permission android:name="android.permission.READ_PHONE_STATE">
        </uses-permission>
        <uses-permission android:name="android.permission.WRITE_SMS">
        </uses-permission>
       <uses-permission android:name="android.permission.READ_SMS">
        </uses-permission>
       <uses-permission android:name="android.permission.SEND_SMS">
        </uses-permission>
        <uses-permission android:name="android.permission.RECEIVE_SMS">
        </uses-permission>
        <uses-permission android:name="android.permission.INTERNET">
        </uses-permission>

接收者:

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

public class OnBootReceiver extends BroadcastReceiver
{
    @Override
    public void onReceive(Context context, Intent intent)
    {
        Log.d("Test","booot");
        Toast.makeText(context, "Test", Toast.LENGTH_LONG).show();
    }
}

接收器不工作。我关闭并打开我的设备,但没有任何反应。 该项目中的 SMS 和 Call Receiver 运行良好。 SMS Receiver 和 CallReceviver - 效果很好。 第一篇文章已更新 - 添加了完整的 list 。

最佳答案

如果您有 HTC 设备e,您还需要注册 “android.intent.action.QUICKBOOT_POWERON”。所以 list 中的条目应该是:

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

在我的 HTC 上,如果我关闭设备并打开它一段时间,我得到 QUICKBOOT_POWERON 而没有 BOOT_COMPLETED。

如果我关闭设备并取出电池一段时间 - 我在启动后得到 BOOT_COMPLETED。

关于android - 引导接收器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7978403/

相关文章:

java - Adapter.notifyDataSetChanged() 在 onCreate() 内部不工作

php - 使用 PHP 获取 APK 证书 key

外部库中的 Android BroadcastReceiver?

assembly - 在汇编中开发引导加载程序

linux - 在 Linux 上启动时启动脚本的最佳方式是什么

linux - 在启动器上安装USB key

java - 主要 Activity 在启动屏幕返回之前被破坏

android - 使用 Superpowered 循环播放器时出现延迟/咔哒声

android - 收到错误的android google play安装Referrer

Android 小部件 - 在哪里注册显式广播