2016-08-07 5 views
0

lockscreen을 만들려고합니다. broadcastReceiver에서 com.fira.locker.LockScreenActivity을 시작하려고하면 오류가 발생합니다.브로드 캐스트 수신기에서 활동을 시작하려고 시도했습니다.

startActivity(new Intent(this, LockScreenActivity.class)); 
finish(); 

.. 왜 이런 단순한 의도를 시작하지 않는

package com.fira.locker; 

import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Environment; 
import android.util.Log; 
import android.view.inputmethod.EditorInfo; 
import android.widget.EditText; 
import android.widget.TextView; 

import java.io.BufferedWriter; 
import java.io.File; 
import java.io.FileWriter; 
import java.io.IOException; 

/** 
* Created by Johannett321 on 10/04/16. 
*/ 
public class LockScreenReceiver extends BroadcastReceiver { 

    public String screenlockedNumber; 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     //start activity 
     Intent i = new Intent(); 
     i.setClassName("com.fira.locker",  "com.fira.locker.LockScreenActivity"); 
     i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     context.startActivity(i); 
     } 
} 

답변

0

또는 당신이 시도 할 수 있습니다 ..

:

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Intent android.content.Intent.setFlags(int)' on a null object reference 

이 내 코드입니다 : 오류는 말한다

Intent i = new Intent(context,LockScreenActivity.class); 
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
context.startActivity(i); 
+0

감사합니다. 마지막 하나가 작동했습니다. 첫 번째는 내 생각에 방송 수신기에서 작동하지 않습니다. –

+0

우리가 활동의 맥락을 밝히면 효과가있을 것입니다. BTW 문제가 해결 되었습니까? –

+0

예, 제 문제가 해결되었습니다. 문제는 내가 공유 한 코드조차도 아니었다. LockScreenActivity 클래스에 있었다. –

0

이 코드를 사용하십시오. 희망이 당신을 도울 것입니다.

Intent i= new Intent(context.getApplicationContext(), LockScreenActivity.class); 
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
context.startActivity(i); 
관련 문제