【问题标题】:Activity doesn't start on phone booting, Android BroadcastReceiver活动不会在手机启动时启动,Android BroadcastReceiver
【发布时间】:2014-09-20 08:27:20
【问题描述】:

我想在移动设备启动时开始一项活动。当我从我的手机启动应用程序时它很好,但是当我重新启动我的手机时活动没有启动。 LogCat 中没有错误。 我把我的完整代码贴出来让你们看懂。

这是我的

  • 主要活动

    导入android.app.Activity; 导入android.content.Intent; 导入android.net.Uri; 导入android.os.Bundle;

    公共类 MainActivity 扩展 Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com/"));
        startActivity(browserIntent);
    }
    

    }

这是我的另一堂课

  • 引导接收器

    导入 android.content.BroadcastReceiver; 导入android.content.Context; 导入android.content.Intent;

    公共类 BootReciever 扩展 BroadcastReceiver {

    @Override
    public void onReceive(final Context context, Intent intent) {
        // TODO Auto-generated method stub
    
    
        new Thread(new Runnable() {
    
            @Override
            public void run() {
                try {
                    Thread.sleep(5000);
                } catch (InterruptedException e) {
                }
    
                Intent myIntent = new Intent(context, MainActivity.class);
                myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(myIntent);
            }
        }).start();
    
    }
    

    }

  • mainfest XML

    <uses-permission android:name="android.permission.VIBRATE" >
    </uses-permission>
    
    <uses-sdk
        android:minSdkVersion="11"
        android:targetSdkVersion="21" />
    
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".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>
    
        <receiver
            android:name="com.android.bitter.BootReciever"
            android:enabled="true"
            android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.QUICKBOOT_POWERON" />
    
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </receiver>
    </application>
    

【问题讨论】:

    标签: android broadcastreceiver


    【解决方案1】:

    试试这个

    @Override
    public void onReceive(final Context context, Intent intent) {
        Intent myIntent = new Intent(context, MainActivity.class);
        myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(myIntent);
    }
    

    <uses-permission android:name="android.permission.VIBRATE" >
    </uses-permission>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    
    <uses-sdk
        android:minSdkVersion="11"
        android:targetSdkVersion="21" />
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".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>
        <receiver
            android:name="com.android.bitter.BootReciever"
            android:enabled="true"         >
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.QUICKBOOT_POWERON" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </receiver>
    </application>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-12
      • 1970-01-01
      • 2023-03-26
      • 2019-05-16
      • 2013-03-10
      相关资源
      最近更新 更多