草庐IT

android widget 提示解锁

coder 2023-12-24 原文

我在开发应用程序时遇到问题,我正在构建一个既可以在锁屏上也可以在主页上的小部件。当处于锁屏状态时,我希望当用户单击按钮时,小部件提示用户在需要时登录。我的意思是提示输入模式或密码或面部识别,具体取决于用户是否启用了任何此安全性。 在用户输入他的模式后,小部件将运行一个应用程序( Intent )。

我注意到有些小部件会提示登录,而有些则不会,我还没有发现它们之间的区别。

我认为这必须在 onReceive 方法上,但不确定如何调用这个“登录”方法,到目前为止,我在 onReceive 上开始了 Intent

i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
i.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);    
context.getApplicationContext().startActivity(i);

但这仍然没有提示登录。当小部件在锁屏上时。

假设用户在锁定屏幕中与小部件交互,系统不会提示用户输入密码,无论是哪种方式,用户都会输入他的图案|密码,并且在用户“输入”他的主屏幕和应用程序之后开始了。所以小部件确实启动了 Intent 只是不让用户“知道”或登录以查看应用程序。

关于如何提示用户输入他的模式以便它进入主屏幕有什么想法吗?

[编辑]

当我尝试在 BroadcastReceiver 中触发 Intent 时会出现问题。 我所做的是允许用户与小部件按钮进行交互,具体取决于用户选择的内容我将打开我的应用程序,为 Intent 添加一些额外内容。

所以在我的 BroadcastReceiver 的 onReceive 方法上,我尝试触发:

Intent i = new Intent(context, MyActivity.class);
i.putExtra(WidgetUtils.TAG_CURRENT_SELECTION, StringIGotFromInteraction);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.getApplicationContext().startActivity(i);

这样 intent 就不会提示“解锁”。

如果在 onUpdate 中我将待定 Intent 转换到任何按钮,当用户单击该按钮时,会以这种方式提示解锁:

views.setOnClickPendingIntent(R.id.aButton, buildAPendingIntent(context)); 

但我需要知道用户选择打开的内容以及我打开任何内容时的 Intent 。

当小部件在主屏幕上而不是在锁屏上时,我的 contex.startActivity 方法工作正常。

有什么想法可以让这一切发生。

最佳答案

我找不到答案我最终做的是创建一个动态按钮,当小部件更新时(通过其他按钮)我将 PendingIntent 分配给这个按钮。

因此,当用户单击此动态按钮时,小部件会尝试打开 Intent ,并在提示用户输入密码时出现。

我认为这不是我们让用户额外点击小部件的最佳解决方案。

关于android widget 提示解锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17355143/

有关android widget 提示解锁的更多相关文章

  1. ruby - 是否可以将 IRB 提示配置为动态更改? - 2

    我想在IRB中浏览文件系统并让提示更改以反射(reflect)当前工作目录,但我不知道如何在每个命令后进行提示更新。最终,我想在日常工作中更多地使用IRB,让bash溜走。我在我的.irbrc中试过这个:require'fileutils'includeFileUtilsIRB.conf[:PROMPT][:CUSTOM]={:PROMPT_N=>"\e[1m:\e[m",:PROMPT_I=>"\e[1m#{pwd}>\e[m",:PROMPT_S=>"FOO",:PROMPT_C=>"\e[1m#{pwd}>\e[m",:RETURN=>""}IRB.conf[:PROMPT_MO

  2. ruby - 在 StockChart (highchart) 中以编程方式显示柱形图的工具提示 - 2

    我有一个Highstock图表(带有标记和阴影的线条),并且想以编程方式显示一个highstock工具提示,例如,当我选择某个表上的一行(包含图表数据)我想显示相应的highstock工具提示。这可能吗? 最佳答案 股票图表thissolution不起作用:在thisexample你必须更换这个:chart.tooltip.refresh(chart.series[0].data[i]);为此:chart.tooltip.refresh([chart.series[0].points[i]]);解决方案可用here.

  3. ruby-on-rails - 提示需要散列的事件资源 - 2

    我正在使用事件资源从api获取数据并显示它,我的Controllermodel.rb有classThr::Vol::Dom'/vv/test/domains/2013-06-25T05:03Z')xendend当我调用Thr::Vol::Dom.find方法时,它返回以下错误:ArgumentError:expectedanattributesHash,got["0.0.0.0","1.1.1.1","2.2.2.2","3.3.3.3","4.4.4.4"]该api应该提供这样的内容{"abs.com":["0.0.0.0","1.1.1.1","2.2.2.2","3.3.3.3"

  4. ruby - 为什么我的带有 ANSI 颜色代码的 IRB 提示通过复制/粘贴弄乱了翻页/翻页行为? - 2

    我添加到我的.irbrc:IRB.conf[:PROMPT].reverse_merge!(:RAILS_ENV=>{:PROMPT_I=>"#{current_app}#{rails_env}#{prompt}",:PROMPT_N=>"#{current_app}#{rails_env}#{prompt}",:PROMPT_S=>nil,:PROMPT_C=>"?>",:RETURN=>"=>%s\n"})IRB.conf[:PROMPT_MODE]=:RAILS_ENV如果我这样做:current_app="\e[31mfoo_bar_app\e[0m"rails_env="\e

  5. ruby - Capistrano 3.0 — 现在如何安全地提示输入密码? - 2

    在3.0之前有一种方法可以做到这一点:#...set:mysql_password,proc{Capistrano::CLI.password_prompt"Gimmeremotedatabaseserverpassword.Don'tworry,Iwon'ttellanyone:"}#...namespace:dbdodesc'Dumpremotedatabase'task:dumpdorun"mysqldump-u#{mysql_user}-p#{mysql_database}>~/#{mysql_database}.sql"do|channel,stream,data|ifdat

  6. ruby-on-rails - 将 vim 与 ruby​​/ruby on rails 结合使用的提示和技巧 - 2

    我是那些没有在他的任何Ruby/RubyonRails工作中使用TextMate的开发人员之一。我在这个领域的特别忠诚在于vim。您最喜欢将vim与Ruby和/或RubyonRails结合使用以尽可能提高工作效率的提示/技巧是什么? 最佳答案 最重要获取rails.vim的副本它在数百万级别上很棒。Readthedoc.提示太多了,:Rviewcustomer,:RSmodelfoo,:Rinvert,gf,:Rextract,:Rake等等。您可能需要NERDTree以及轻松导航(您可以使用:Rtree访问)第二重要在推特上关注t

  7. ruby - 如何在终端提示中显示 RVM 当前的 Ruby 和 gemset? - 2

    我正在使用rvm-prompt.似乎解释器、版本、补丁级别和gemset都应该默认显示。如果我调用提示,它会准确地返回当前的ruby​​和gemset:$rvm-promptruby-1.8.7-p302@rails125但是我的gemset没有反射(reflect)在我的提示中:ruby-1.8.7-p302MacBook:~subpixel$我尝试在.bash_profile中显式调用gemset:PS1="\$(~/.rvm/bin/rvm-promptivpg)$PS1"但它不会更改提示。 最佳答案 如果您查看rvm-pro

  8. ruby-on-rails - 在 View 中设计解锁按钮 - 2

    这可能非常简单,我忽略了它。我正在使用设计可锁定功能,我想创建一个按钮,管理员可以检查该按钮以解锁锁定的用户。Devise有一个名为unlock_access!的模型方法.我试图在用户的Controller方法中使用View中的按钮调用它。观看次数:=link_to('unlock',user_unlock_path(user),method::post,class:'button-xs')unlessuser==current_userusers_controller.rb:defunlockuser=User.find(params[:id])user.unlock_access!

  9. ruby - Ruby 是否支持类型提示? - 2

    PHP示例:functiondo_something(int$i){return$i+2;}ruby示例:classMyClass#...enddefdo_something(MyClassx)x.prop1="String..."end有类似的吗?谢谢。 最佳答案 Ruby3将为Ruby引入类型(Source)。您已经可以使用Sorbet现在向您的ruby​​代码添加类型。 关于ruby-Ruby是否支持类型提示?,我们在StackOverflow上找到一个类似的问题:

  10. ruby-on-rails - 与雷神的互动提示 - 2

    我想以某种方式要求用户说出他们的flickr_id、flickr_apikey和那些东西,但id'最乐意在我的安装命令下这样做,这样它就不会因为所有的原因而变得如此冗长和粗重论点。类似的东西$thorPhotoonRails:installWe'reabouttoinstallyoursystem..blaa,blaa,blaa...Wehavetoknowyou'reFlickID,getiherehttp://idgettr.com/FlickrID:{hereyoushouldtypeyourid}Wealsohastoknowyou'reflickapikey,makeoneh

随机推荐