小编Nic*_*ick的帖子

使用NotificationListenerService检查对通知的访问

我正在使用> = 4.3 NotificationListenerService来访问通知.在第一次启动时,我的应用程序将用户带到"访问通知"系统面板,但是只要禁用"访问通知"中我的应用程序的复选框,我就会将用户带到那里.我没有在isNotificationAccessEnabled()任何地方找到一个方法,但我肯定知道这是可能的,因为像Krome这样的应用程序也是这样做的.

notifications android

24
推荐指数
2
解决办法
2万
查看次数

SharedPreferences的应用程序上下文?

例如,我可以使用和开始ApplicationContext工作吗?SharedPreferencesRemoteService

从逻辑上讲,我认为我可以.这种方法有细微差别吗?

android sharedpreferences

19
推荐指数
3
解决办法
8756
查看次数

Google Play服务活动识别 - 电池使用?

Google Play服务组件是始终确定用户当前的活动,还是仅在连接应用以接收活动更新时?该文件是不是这个是很清楚,它只是说,它在一般最小的电池影响.我想知道一个应用程序是否经常查询用户当前的活动(例如,间隔2分钟)是否会给用户的电池带来额外的压力.

android battery google-play-services

14
推荐指数
1
解决办法
1638
查看次数

检索StatusbarNotification详细信息的可靠方法(标题,通知文本)

我希望从对象中获取尽可能多的信息StatusBarNotification.现在,唯一可以访问的"可靠"信息是tickerText-property.我正在使用以下代码来获取通知的标题和文本RemoteViews,但很多时候,标题和/或文本将只是空:-(:

    //Get the title and text
    String mTitle = "";
    String mText = "";
    try {
        RemoteViews remoteView = sbn.getNotification().contentView;
        LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        ViewGroup localView = (ViewGroup) inflater.inflate(remoteView.getLayoutId(), null);
        remoteView.reapply(getApplicationContext(), localView);
        TextView tvTitle = (TextView) localView.findViewById(android.R.id.title);
        TextView tvText = (TextView) localView.findViewById(16908358);
        mTitle = (String)tvTitle.getText();
        mText = (String)tvText.getText();
    } catch (Exception e){
        Log.e(TAG, "Error getting notification title/text: " + e);
    }
Run Code Online (Sandbox Code Playgroud)

有没有替代方案(更可靠)?我可以"手动编码""热门"通知(如Gmail,短信等)的资源ID,但这可能会在这些应用程序更新时随时中断.谢谢!

notifications android remoteview

13
推荐指数
1
解决办法
6716
查看次数

每次设备进入此模式时,沉浸式模式指令都会重新出现

我的应用程序通过调用(in onCreate)使用新的"沉浸式模式" :

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);

这很好用,但每次启动活动时都会显示"操作方法"弹出窗口("从顶部向下滑动以退出全屏")(如果在显示活动时手机被锁定),即使用户已经承认了弹出窗口.据我所知,弹出窗口是由系统自动生成的,所以我无法改变这种情况,对吗?

此问题可重现如下:

  1. 启动沉浸式活动[无弹出窗口,仅在第一次启动时出现(正确)]
  2. 在活动显示时按电源按钮关闭屏幕
  3. 再次按电源按钮可打开屏幕
  4. 通过调用finish()关闭Activity,例如从按钮或菜单选项中调用
  5. 再次启动活动 - 再次出现弹出窗口

如果活动启动,关闭和重新启动而不点击两者之间的电源按钮,弹出窗口不会重新出现.此外,只有在按下电源按钮时活动位于最顶层时,它才会重新出现.

更正:需要通过调用"finish()"(例如,从按钮或菜单选项)关闭活动.如果活动被反键关闭,它可以正常工作.

我在这里上传了一个示例应用程序:https://github.com/niko001/com.greatbytes.immersivebug/tree/master/Test5

编辑:现在有一个Xposed模块禁用"恐慌模式",所以我想我并不孤单,看到这是一个烦恼;)

android android-4.4-kitkat

13
推荐指数
1
解决办法
1万
查看次数

DevicePolicyManager.lockNow(); 安全设置设置为幻灯片/无时,不会关闭屏幕

用户希望我的应用程序在使用后关闭屏幕.目前,我使用设备管理员权限实现此目的,DevicePolicyManager.lockNow()如果安全设置设置为PIN/Pattern/FaceUnlock等,则可以正常工作.

但是,如果使用Slide/None,上面的命令只是将用户带到主屏幕(或者什么都不做),这是可以理解的,因为没有什么可以"锁定".在这种情况下有没有办法实现关闭屏幕?我的应用需要SDK> = 16,如果这很重要.

所以我想我的问题是:如何能在应用可靠地关闭屏幕(我不是拿着wakelock,我使用的是WindowManager-flags FLAG_TURN_SCREEN_ONonAttachedToWindow()).

在我的应用程序"流"是:
-活动是由一个意图开始,而屏幕关闭,显示键盘锁以上/使用上述标志在屏幕上的开关
-用户积极驳回我的活动,我打电话lockNow()finish()和用户希望屏幕关闭.如果用户使用none/slide lock,则不起作用,而是显示用户的主屏幕

谢谢!

android device-admin

12
推荐指数
2
解决办法
3670
查看次数

USER_PRESENT GO Locker的意图

我的应用程序侦听USER_PRESENT意图.但是,自定义锁定屏幕替换(例如WidgetLocker和GO Locker)不能/无法发送此受保护的广播.

WidgetLocker通过广播自己的自定义意图为此提供了一种解决方法(例如com.teslacoilsw.widgetlocker.intent.UNLOCKED,请参见此处).GO Locker提供类似的意图吗?我无法找到任何相关信息.

android android-intent

11
推荐指数
1
解决办法
906
查看次数

启动默认相机应用程序(不返回)

我想启动默认摄像头,但希望它像从启动器启动一样(即生成的图片应该由相机应用程序存储到用户的图库,而不是返回到我的应用程序).如果我使用Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);,相机应用程序使用"确定?重试?" - 用户界面并不保存图片.我宁愿不使用"直接" com.android.camera意图,因为很多设备都使用自定义相机应用程序.我已经看到库存gallery3d-app使用别名实现com.android.camera/.Camera,但我不确定每个预先加载的制造商相机应用程序是否这样做.

android android-camera android-camera-intent

11
推荐指数
2
解决办法
8041
查看次数

区分屏幕超时和电源按钮?

当我的应用程序在屏幕变黑时执行某些操作,但我希望它只执行该任务,如果屏幕被"自身"关闭,通过屏幕超时 - 而不是当用户按下电源按钮时.有没有办法区分这两个事件?

ACTION_SCREEN_OFF 两种情况下都明显会发生火灾,而且我还没有找到任何其他可能与我正在寻找的意图相符的意图.

谢谢你的帮助,尼克

android android-intent

8
推荐指数
1
解决办法
1738
查看次数

材料设计支持库

是否正在努力将新的Material Design样式和小部件向后移植到Android的前L版本,类似于"HoloEverywhere" - 图书馆?该库的创建者初始化了一个空的GitHub存储库,但它似乎没有处于活动开发状态.我知道有一个L风格的对话框和浮动动作按钮的后端,但显然有更多的小部件在Android L中发生了变化.

Android团队是否公布了他们是否正在开发支持库(超出目前可用的支持库)?

android android-support-library material-design android-5.0-lollipop android-design-library

7
推荐指数
2
解决办法
3524
查看次数