无法添加窗口——token null 无效;您的活动正在运行吗?

2023-12-12

我想在用户单击浮动图标时显示自定义弹出菜单

浮动图标是通过服务创建的,但我没有任何活动

这是我的浮动图标代码

public class copy_actions_service extends Service
{
    ImageView copy_ImageView;
    WindowManager windowManager;
    WindowManager.LayoutParams layoutParams;

    @Override
    public IBinder onBind(Intent arg0)
    {
        // TODO Auto-generated method stub
        return null;
    }
    
    @Override
    
    public void onCreate()
    {
        windowManager=(WindowManager)getSystemService(WINDOW_SERVICE);
        
        copy_ImageView=new ImageView(this);
        copy_ImageView.setImageResource(R.drawable.ic_launcher);
        copy_ImageView.setAlpha(245);
        copy_ImageView.setOnClickListener(new OnClickListener()
        {
            
            @Override
            public void onClick(View arg0)
            {
                showCustomPopupMenu();
            }
        });
        
        layoutParams=new WindowManager.LayoutParams(
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.TYPE_PHONE,
                WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
                PixelFormat.TRANSLUCENT);
        
        layoutParams.gravity=Gravity.TOP|Gravity.CENTER;
        layoutParams.x=0;
        layoutParams.y=100;
        
        windowManager.addView(copy_ImageView, layoutParams);

    }
    
    private void showCustomPopupMenu()
    {
        LayoutInflater layoutInflater=(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View view=layoutInflater.inflate(R.layout.xxact_copy_popupmenu, null);
        
        PopupWindow popupWindow=new PopupWindow();
        popupWindow.setContentView(view);
        popupWindow.setWidth(LinearLayout.LayoutParams.WRAP_CONTENT);
        popupWindow.setHeight(LinearLayout.LayoutParams.WRAP_CONTENT);
        popupWindow.setFocusable(true);

        popupWindow.showAtLocation(view, Gravity.NO_GRAVITY, 0, 0);             
    }
}

一切都很好,但是当我单击浮动按钮应用程序停止时,此错误显示在 logcat 上:(

11-23 02:18:58.217: E/AndroidRuntime(3231): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?

但我没有活动?

我想在用户单击浮动图标后显示弹出菜单;但弹出菜单只能显示文字;

如何显示带有图标的弹出菜单?


如果您正在使用getApplicationContext() as Context in Activity对于这样的对话框

Dialog dialog = new Dialog(getApplicationContext());

然后使用 YourActivityName.this

Dialog dialog = new Dialog(YourActivityName.this);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法添加窗口——token null 无效;您的活动正在运行吗? 的相关文章

  • 即使我单击“运行”,Eclipse 也会运行调试模式

    Eclipse 总是在调试模式下启动我的应用程序 即使我单击常规的 运行 按钮 有任何想法吗 我发现我必须重新启动 Xoom 才能使其再次正常工作
  • 使用 ColorMatrix 调整亮度

    我正在尝试使用 ColorMatrix 调整图像的亮度 当尝试调整色相时 您可以在 Photoshop 中看到此选项 亮度和亮度也是两个不同的功能 但我不知道要更改哪些值才能实现此目的 目前我可以使用此代码更改色调 public stati
  • 清晰的图标 清晰的 Android 应用程序

    你好 下午好 关于如何提高图标的 png 质量 有什么想法吗 我使用了 Android 开发者页面上的套件 但我无法获得清晰的图像 我的意思是非常清晰 我是否需要以不同的方式加载此图标 而不仅仅是拖入我的布局 谢谢 我使用这个布局
  • 如何从Slog中查看日志

    如何查看 Slog API 生成的日志 是否有任何选项可以查看系统缓冲区中的日志 我的意思是查看我们使用的无线电缓冲区的日志 adb logcat b 无线电 而这个日志是由Android的Log类生成的 Slog API 的输出在哪里 怎
  • 如何最大限度地减少 Google API(地点)自动完成的请求量?

    我正在使用 google API 位置来自动完成位置AutoCompleteTextView 我做了几次测试 大概进行了 20 次搜索 在我的 google devs 个人资料中 写着我已经发出了 200 个 API 请求 据我所知 每次我
  • 将清除会话标志设置为 FALSE 后,我丢失了已发布的值

    有人有一个合乎逻辑的解释为什么尽管我有clear session flage false当我未连接到经纪商时 我没有收到我订阅的更新的已发布消息 将 aore提到的标志设置为 false 后 我运行了我的应用程序 并且我不断向主题发布一些值
  • MediaPlayer.create() 始终返回 null

    我以前用过媒体播放器 从来没有遇到过这个问题 每当我尝试使用 MediaPlayer create 时 该方法都会给我 null 并且我无法播放声音 我有什么遗漏的吗 public class Game extends Activity p
  • 在 Android 中使用 AES 加密的最佳实践是什么?

    我为什么问这个问题 我知道人们对 AES 加密存在很多疑问 即使对于 Android 也是如此 如果您在网络上搜索 会发现很多代码片段 但在每个页面上 在每个 Stack Overflow 问题中 我都发现了另一个具有重大差异的实现 所以我
  • 如何从画布中删除路径区域(Android)

    我需要裁剪角落ImageView 不要将它们弄圆 而是擦除每个角上的三角形 似乎唯一的方法就是覆盖onDraw方法并使用从画布上删除这些区域Path 问题是我没有纯色背景 所以我需要擦除这些区域 但不要用某种颜色填充它们 我为此使用以下代码
  • 何时调用 glMatrixMode()

    我所关注的大多数 Android OpenGL ES 教程都有其 onSurfaceChanged 函数 如下所示 public void onSurfaceChanged GL10 gl int width int height gl g
  • 片段活动中的 commitAllowingStateLoss()

    我的应用程序使用片段活动 它仅处于纵向模式 无法旋转屏幕 最初我使用的是commit 方法 但现在我计划不加区别地将这些更改为commitAllowingStateLoss 对于碎片活动 是否有任何理由不不加区别地执行此操作而不重新评估我使
  • 通过配置更改保留 CoroutineScope 的干净方法,无需 ViewModel

    我知道建议是在我们的 Activity 中使用 ViewModel 这样我们就可以使用它viewModelScope 由于 ViewModel 的寿命比 Activity 的寿命长 因此我们不必取消以下作业activity onDestro
  • 如何在Room的数据库迁移中正确添加索引?

    我在迁移 Room 数据库时遇到问题 在更新的数据库中 我必须将一个字段从整数更改为双精度值 我读到它并不像听起来那么容易 为了做到这一点 我必须使用这个更改后的属性创建新的临时表 复制前一个表中的所有值 删除旧的值 最后重命名临时表 我的
  • Android 5 Lollipop 阴影方向或 y 偏移

    是否有可能改变 Y 偏移的阴影方向 现在我有以下布局
  • 如何让surfaceview透明

    大家好 我想让我的 DrawingSurface 视图透明 我尝试了很多东西 但它不起作用 这是我的 xml 代码 使我的表面视图透明
  • onStart() 到底做了什么? - 安卓[重复]

    这个问题在这里已经有答案了 一段时间以来 我一直想知道 onStart 函数在 android 生命周期中的确切作用 网上的大多数资源只是说 它在您的活动在屏幕上可见之前被调用 但到目前为止我所做的应用程序我从未使用过onStart 我在
  • 片段中的 SavedInstanceState 始终为 null

    我使用 XML 以及活动中的 setContentView 将片段附加到活动 A 有一个问题 因为我的片段中有非常动态的视图 所以当方向改变时 我必须恢复所有的观点状态 我有问题 因为我正在使用类似的东西 public void onSav
  • 如何以编程方式检测android中可用的底部软导航栏?

    我试图通过 android 程序确定软导航栏 我没有找到直接的方法来确定 有没有办法找到导航栏的可用性 软导航栏图像在这里 以下方法对我有用并在许多设备上进行了测试 public boolean hasNavBar Resources re
  • Android:我的应用程序太大并给出“无法执行 dex:方法 ID 不在 [0, 0xffff]: 65536”?

    我正在尝试将我的应用程序与 Box Dropbox 和 Google Drive 集成 所有这 3 项服务都需要许多第 3 方 jar 此外 我的应用程序已经需要一些第三方 jar 现在 当我尝试从 Eclipse 运行我的应用程序时 出现
  • Android Webview隐私浏览

    我在我的 Android 应用程序中使用 webview 从多个站点获取一些网页 我对 webview 行为有一些疑问 webview 是否存储历史记录 cookie 表单自动填充信息 如果是的话 我们可以阻止它这样做吗 如果 Webvie

随机推荐

  • 不允许使用 HTTP 动词 POST 来访问路径“/”

    整个错误 Server Error in Application The HTTP verb POST used to access path is not allowed Description An unhandled exceptio
  • 多处理时在哪里调用 join()

    在 Python 中使用多处理时 我通常会看到以下示例 join 函数在每个进程实际创建的单独循环中调用 例如 这个 processes for i in range 10 p Process target my func processe
  • 如何找到数组中的第一个空闲键

    我们都知道 数组实际上是 PHP 中的有序树 鉴于此 数组索引 整数键 不需要遵循任何严格的顺序 甚至根本不需要存在 所以 给定一个像这样的数组 array 1 gt A 5 gt B 2 gt C 3 gt D 6 gt E 0 gt F
  • 一旦超出索引,C# 将数组索引值循环回数组开头

    我希望创建一个如下所示的程序 c 顺便说一句 int arr new int 9 some code that puts values 1 0 or 2 in each array element for int i 0 i lt arr
  • 如何在 bash 中使用 getopts 的示例

    我想打电话myscript文件以这种方式 myscript s 45 p any string or myscript h should display help myscript should display help 我的要求是 get
  • 如何在 Ubuntu 操作系统上使用 cron 作业每天运行 php 脚本

    运行命令我正在使用 ubuntu 12 和 lamp 服务器 我想每 1 小时运行一次 php 脚本 我已经创建了一个 crontab 来执行此操作 如果我使用命令 crontab l 检查我的 cron 列表 它会显示如下 Edit th
  • 如何在 R 中将数据帧上传到 ndtv?

    我的目标是使用 R 中的三个包进行动态可视化 ndtv network and networkDynamic包 我创建了一个dataset根据此示例数据集排序的信息网络动态时间可视化研讨会 第 7 页 根据网络动态手册第49页 上传数据集并
  • 在模式弹出窗口中打开外部网站

    我知道 a href http www example com target blank Click here a 打开链接在新标签中 Chrome 和 Firefox 中的默认行为 a href http www example com
  • 通过 jQuery GET 强制“另存为”对话框

    我在下面的 test php 文件代码中调用 jQuery GET 我试图让脚本在生成的 test ini 文件上弹出 另存为 对话框 以允许将其保存在本地 然而 虽然我可以将结果回显给 jQuery 但我似乎无法弹出 另存为 对话框 更新
  • 如何将一系列单元格存储到数组中?

    如果我在单元格 A1 A150 中有一个数据列表 但数量可能会有所不同 有没有办法将其推入数组 而无需单独查看每个单元格来确定它是否为空 这样做超出了我的执行时间 我需要一种更快的方法来存储数据并在数据到达空单元格时停止 以下是我目前的做法
  • 当didUpdateToLocation发生时,iphone在后台发送邮件

    我开始工作 skpsmtpmessage http code google com p skpsmtpmessage 这样我就可以在前台发送邮件 现在我希望在 didUpdateLocation 发生时通过 skpsmtpmessage 在
  • 特定时间段内的多笔交易,受日期范围限制

    我有一个包含交易 人员 交易日期 物品等的数据库 每次有人购买商品时 交易都会存储在表中 如下所示 personNumber TransactionNumber TransactionDate ItemNumber 我想要做的是找到从 20
  • Java观察者更新函数

    我有一个实现观察者的类 当然它需要有更新功能 public void update Observable obs Object obj 谁能解释一下这两个参数代表什么 Observable 当然是我的 observable 但是 我如何通过
  • bash 中的 printf:“09”和“08”是无效数字,“07”和“06”可以

    这是我的 bash 脚本 我只想用零填充一组数字 printf 04d 09 printf 04d 08 printf 04d 07 printf 04d 06 Output rename sh line 3 printf 09 inval
  • 为什么不等待我传递给 Task.Run() 的异步操作?

    我在这里有一种非常奇怪的感觉 我错过了一些东西 但现在我已经在这个问题上苦苦挣扎了几个小时 但无法得到它 我有一种任务调度类 它主要接收它启动的正常同步操作 而不是通过 Task Run 异步操作 但是 当它收到传递的异步操作时 它会返回而
  • 事件侦听器无法与 firebase 查询一起使用

    我正在尝试为我的 firebase 查询脚本创建一个事件侦听器 但它的行为有点奇怪 这是我的脚本 using System Collections Generic using UnityEngine using System Linq us
  • NSAllowsArbitraryLoadsInWebContent in CN1

    我正在尝试解决 Apple 对 Codename One 的 http 限制 根据 iOS Cocoa 密钥文档 NSAllowsArbitraryLoadsInWebContent 将按照以下说明在 iOS 10 上运行 仅适用于要加载的
  • 在 PostgreSQL 中创建数据库的副本

    在 pgAdmin 中将整个数据库 其结构和数据 复制到新数据库的正确方法是什么 Postgres 允许在创建新数据库时使用服务器上任何现有的数据库作为模板 我不确定 pgAdmin 是否为您提供了创建数据库对话框上的选项 但如果没有 您应
  • 使用 Node.js 从 Azure WebJob 轮询 Azure 服务总线队列

    尝试使用用 Node js 编写的 WebJob 轮询 Azure 服务总线队列 我创建了 2 个 WebJobs 第一个是按需的 并向队列发送 10 条唯一的消息 第二个作业是连续的 并轮询队列中的消息 遇到以下问题 轮询速度很慢 平均需
  • 无法添加窗口——token null 无效;您的活动正在运行吗?

    我想在用户单击浮动图标时显示自定义弹出菜单 浮动图标是通过服务创建的 但我没有任何活动 这是我的浮动图标代码 public class copy actions service extends Service ImageView copy