1

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);  
            }
        }
    }
4

1 に答える 1

0

このためにカーネルを変更する必要はないと思います。あなたがしなければならないのは、ブート完了レシーバーを作成し、その中でロック画面を無効にすることだけです

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>
于 2012-08-28T04:19:14.983 に答える