两个步骤:
1.在AndroidManifest.xml文件修改如下:
 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
         *这行是增加对接收广播消息的权限
 <application android:allowBackup="true" android:label="@string/app_name">
          *下面开始是增加接收器的静态注册,android:name为接收器的实现类名,注意需要写上点号开始
    <receiver android:enabled="true" android:name=".BootReceiver">
      <intent-filter>
           *下面这行大部分网上写的都缺少ACTION这个
        <action android:name="android.intent.action.ACTION_BOOT_COMPLETED" />
      </intent-filter>
    </receiver>
  </application>

2.可以新建一个类文件,写接收器的实现方法,因为是测试,我是直接在MainActivity所在的文件中增加一个实现类的。

     *一定要写下面两行的描述,否则程序一直意外关闭
    [BroadcastReceiver]
    [IntentFilter(new[] { Intent.ActionBootCompleted })]
    public class BootReceiver:BroadcastReceiver
    {
        public override void OnReceive(Context context, Intent intent)
        {
            //throw new System.NotImplementedException();
            //Toast.MakeText(context, "test", ToastLength.Short).Show();
            Intent _intent = new Intent();
            _intent.SetClass(context, typeof(MainActivity));
            _intent.SetFlags(ActivityFlags.NewTask);
            context.StartActivity(_intent);
        }
    }

注意:个人手机可能需要设置授权

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐