0

当我打开我的屏幕时,我想让我的应用程序打开。这是密码应用程序,我希望每次屏幕打开应用程序时都会询问密码。

我编写了应用程序所需的所有代码,但它无法正常工作并且应用程序无法打开。我使用了 RECEIVE_BOOT_COMPLETED:

<user-permission android:name="android.intent.category.RECEIVE_BOOT_COMPLETED" />
<application
  ...
   <receiver
      android:name="com.test.receiver"
      android:enabled="true" >
      <intent-filter>
         <action android:name="android.intent.action.SCREEN_ON" />
         <action android:name="android.intent.action.BOOT_COMPLETED" />
      </intent-filter>
   </receiver>
</application>

这是java部分:

public class receiver extends BroadcastReceiver
{
   @Override
   public void onReceive(Context context, Intent intent)
   {
      intent = new Intent(context, MainActivity.class);
      startActivity(intent); // context.startActivity(intent); does not work too
   }
}

如果有人能帮助我,我会很高兴,如果有人也能告诉我我是如何取消主页按钮的,我将非常感激:)

4

1 回答 1

1

其他 SO 帖子建议您需要使用此代码才能让您的应用程序出现在锁定屏幕上方;

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON|
    WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD|
    WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED|
    WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);

默认锁定屏幕上的 Android 活动


进一步的 SO 帖子建议您需要执行此类操作,以便您可以使用应用程序解锁手机;

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

mKeyGuardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
    mLock = mKeyGuardManager.newKeyguardLock("activity_classname");
    mLock.disableKeyguard();

以编程方式锁定 android 设备(有人说该方法已过时,但文档似乎不同意)

于 2013-07-30T19:23:03.777 回答