2012-08-28 54 views
1

當我啓動android時,我希望屏幕自動解鎖(並運行應用程序),而不是解鎖屏幕。 任何人都可以告訴我內核源代碼更改必須完成嗎?android內核修改在啓動時解鎖屏幕


Java代碼是在這裏..你能請更正

public class AddnumsActivity extends BroadcastReceiver { 
    private static final String KEYGUARD_SERVICE = null; 
     @Override 
     public void onReceive(Context context, Intent intent) { 
      // TODO Auto-generated method stub 
      KeyguardManager keyguardManager = (KeyguardManager)context.getSystemService(Activity.KEYGUARD_SERVICE); 
      KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE); 
      lock.disableKeyguard(); 
      if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) { 
       Intent pushIntent = new Intent(context, AddnumsActivity.class); 
       pushIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
       context.startActivity(pushIntent); 
      } 
     } 
    } 

回答

0

我不認爲你需要做的這個內核的變化。所有你要做的就是創建一個啓動完成Reciever和它禁用鎖屏

KeyguardManager keyguardManager = KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE); 
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE); 
lock.disableKeyguard(); 

並添加以下權限

<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/> 

和你的活性,這需要在啓動時要顯示的應該是主屏幕行動。使用下面的過濾器爲您的活動

<intent-filter> 
<action android:name="android.intent.action.MAIN" /> 
<category android:name="android.intent.category.HOME" /> 
<category android:name="android.intent.category.DEFAULT" /> 
</intent-filter> 
+0

這些變化必須完成?在應用程序中?我甚至想在屏幕自動解鎖後啓動應用程序 – johnsonpinto

+0

有一個adb命令來解鎖屏幕「adb shell input keyevent 82」 – johnsonpinto

+0

是的,在應用程序中,您需要立即啓動的活動應該有意圖過濾器如上所述 – nandeesh