2013-07-27 65 views
0

我在android 2.2.1版本上運行我的應用程序,我使用broadcastreceiver來開始一個活動,只要我的屏幕unlocks.this這沒有發生......任何人都可以幫我 這裏是我的代碼我想使用broadcastreceiver來啓動一個活動

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> 

回答

0

你不應該用new實例Activity。這裏是你應該怎麼做的改正。只需使用方法參數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); 
     } 
    } 
} 
相關問題