Как всплыть пользовательский макет / диалоговый фрагмент в фоновом режиме или рисовать поверх другого приложения с помощью сервиса? - PullRequest
0 голосов
/ 12 ноября 2018

введите описание изображения здесь Я новичок в этом поле. Я использую список событий буфера обмена, если clipdata COME. Затем я хочу показать диалоговое окно или пользовательский макет над любым приложением. введите описание изображения здесь как я реализую это так 1 : https://i.stack.imgur.com/M9rUo.png МОЙ КОД В СЛУЖБЕ

   public int onStartCommand(Intent intent, int flags, int startId) {
    Log.i("onsTart command", Thread.currentThread().getName());
    clipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);


    clipboardManager.addPrimaryClipChangedListener(new ClipboardManager.OnPrimaryClipChangedListener() {
        @Override
        public void onPrimaryClipChanged() {
            final ClipData primaryClip = clipboardManager.getPrimaryClip();
            ClipData.Item item = primaryClip.getItemAt(0);
            final String text = item.getText().toString();
            Toast.makeText(getApplicationContext(), "heloaddb wifi" + text,Toast.LENGTH_LONG).show();dd();}});

public void dd() {
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Test dialog");
    builder.setIcon(R.drawable.ic_launcher_background);
    builder.setMessage("Content");
    builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            //Do something
            dialog.dismiss();
        }
    });
    builder.setNegativeButton("Close", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            dialog.dismiss();
        }
    });
    AlertDialog alert = builder.create();
    alert.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
    alert.show();
}

Тост работает хорошо, но я не могу создать диалоговое окно внутри команды onstart

...