Android 应用程序关闭时广播接收器不工作。当应用程序运行时,它可以完美地工作

Android 应用程序关闭时广播接收器不工作。当应用程序运行时,它可以完美地工作,android,android-view,lockscreen,homescreen,Android,Android View,Lockscreen,Homescreen,该应用程序的目的是在电源连接或断开时,在主屏幕上显示视图,而不管应用程序的运行状态如何。即使应用程序未运行,它也应在主屏幕上显示视图。 问题: 1:应用程序关闭时没有弹出屏幕显示 注意:当应用程序运行时,它会显示一个弹出屏幕 设备:棒棒糖 模式:开发人员模式 我在这里附上了代码。 主要活动类别如下。它在应用程序启动时打开 public class MainActivity extends AppCompatActivity { private static final int REQUEST_

该应用程序的目的是在电源连接或断开时,在主屏幕上显示视图,而不管应用程序的运行状态如何。即使应用程序未运行,它也应在主屏幕上显示视图。 问题: 1:应用程序关闭时没有弹出屏幕显示

注意:当应用程序运行时,它会显示一个弹出屏幕

设备:棒棒糖

模式:开发人员模式

我在这里附上了代码。 主要活动类别如下。它在应用程序启动时打开

public class MainActivity extends AppCompatActivity {

private static final int REQUEST_CODE_SOME_FEATURES_PERMISSIONS = 101;
static WindowManager.LayoutParams params;
static WindowManager wm;
static ViewGroup lockScreen;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Bundle bundle = getIntent().getExtras();
    try {
        String from = bundle.getString("from");
        if (from.equalsIgnoreCase("broadcast")) {
            startActivity(new Intent(getApplicationContext(), BatteryAdActivity.class));
            finish();

        }
    } catch (Exception ex) {

    }

    getPermission();


}

private void getPermission() {
    String[] PERMISSIONS = {Manifest.permission.BATTERY_STATS, Manifest.permission.SYSTEM_ALERT_WINDOW, Manifest.permission.REORDER_TASKS};
    if (!hasPermissions(this, PERMISSIONS)) {
        ActivityCompat.requestPermissions(this, PERMISSIONS, REQUEST_CODE_SOME_FEATURES_PERMISSIONS);
    }
}

public static boolean hasPermissions(Context context, String... permissions) {
    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && context != null && permissions != null) {
        for (String permission : permissions) {
            if (ActivityCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) {
                return false;
            }
        }
    }
    return true;
}
}

2:广播接收机类别如下

public class PowerConnectionReceiver extends BroadcastReceiver {
Context context;

@Override
public void onReceive(Context context, Intent intent) {
    this.context = context;
    PackageManager pm = context.getPackageManager();
    Intent launchIntent = pm.getLaunchIntentForPackage("com.dogpo.batteryoptimize");
    launchIntent.putExtra("from", "broadcast");
    context.startActivity(launchIntent);

    showMessage("charging");

}

private void showMessage(String charging) {
    Toast.makeText(context, charging, Toast.LENGTH_SHORT).show();
}
}

3:电源断开或连接时打开的活动如下

public class BatteryAdActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_battery_ad);
}
<?xml version="1.0" encoding="utf-8"?>
}

4:清单代码如下所示

public class BatteryAdActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_battery_ad);
}
<?xml version="1.0" encoding="utf-8"?>



在要显示广告的位置声明一个确定大小的空白相对布局。 现在:


你需要更具体:哪个广告网络example@IshaanKumar该应用程序的目的是在锁定屏幕上显示电池信息,就像我在原始问题中附加的图像一样。我想知道如何在android平台上实现这一点。(我需要它涉及的步骤,尤其是锁屏上的弹出屏幕)。您可以在中找到我的源代码。请使用xml。有什么问题吗?