как использовать другие приложения, используя разрешения SYSTEM_ALERT_DIALOG - PullRequest
0 голосов
/ 06 апреля 2020

Я новичок в android студии и кодировании, и я пытаюсь, чтобы мое приложение перерисовывалось поверх другого приложения, используя разрешение "SYSTEM_ALErT_DIALOG". Я попытался сослаться на здесь и использовать код, предоставленный Jayman Jani (2-й ответ). Я все еще не смог предоставить разрешение для моего приложения.

public class excessiveusageactivity extends AppCompatActivity {

    static final int REQUEST_OVERLAY_PERMISSION = 3; //request code
    TextView result;
    Button button1;
    @Override
    protected void onActivityResult(final int requestCode, int resultCode, @Nullable Intent data) {
        result = findViewById(R.id.result);
        button1 = findViewById(R.id.button1);

        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
         if (requestCode == REQUEST_OVERLAY_PERMISSION) {
             if (!Settings.canDrawOverlays(getParent())) {
                 //Toast permissionok = Toast.makeText(getParent(), "permission granted!", Toast.LENGTH_SHORT);
                 //permissionok.show();
                 //permission granted do stuff
                 result.setText("1");
             } else {
                 //Toast permissionnotgrantedtoast = Toast.makeText(this, "permission request failed, try again!", Toast.LENGTH_LONG);
                 //permissionnotgrantedtoast.show();
                 //permission not granted
                 result.setText("2");
             }
         } else {
             result.setText("3");
         }
            }
        });
         result.setText("4");
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        result = findViewById(R.id.result);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_excessiveusageactivity);
            if (
                    Settings.canDrawOverlays(this)
            ) {
                // ask for overlay permission
                Intent requestoverlaypermissionintent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
                        Uri.parse("package:" + getPackageName()));
                startActivityForResult(requestoverlaypermissionintent, REQUEST_OVERLAY_PERMISSION);
                result.setText("5");
            }
    }
}

Я пытался поместить setText повсюду, чтобы увидеть, какие области испортил мой код, но мой TextView остается со словами по умолчанию и не отображает никаких номер, который я установил. (Я добавил кнопку и дополнительные операторы if, чтобы увидеть, где это пошло не так, как раньше, но до сих пор не работает)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...