0

我在 android 版本 2.2.1 上运行我的应用程序,并且我正在使用广播接收器在我的屏幕解锁后立即开始活动。这没有发生......任何人都可以帮助我这是我的代码

import com.example.app.MainActivity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
import android.app.Activity;

public class ScreenReceiver extends BroadcastReceiver {
    Activity ac = new Activity();@Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
            //Toast.makeText(context, "action received", Toast.LENGTH_LONG).show();
            Intent i = new Intent();
            i.setClass(context, MainActivity.class);
            ac.startActivity(i);
        }
    }
}

       <receiver android:name="ScreenReceiver">
         <intent-filter>

            <action android:name="android.intent.action.SCREEN_ON"/>
               </intent-filter>
            </receiver>
4

1 回答 1

0

你永远不应该Activitynew. 这是对您应该如何做的更正。只需使用方法参数context

public class ScreenReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
            Intent i = new Intent(context, MainActivity.class);
            context.startActivity(i);
        }
    }
}
于 2013-07-27T14:10:22.370 回答