相关疑难解决方法(0)

华为手机上的"受保护的应用程序"设置,以及如何处理它

我有一台带有Android 5.0的华为P8用于测试应用程序.该应用程序需要在后台运行,因为它跟踪BLE区域.

我发现华为内置了一个名为Protected Apps的"功能",可以通过手机设置(电池管理器>受保护的应用程序)进行访问.这允许选定的应用程序在屏幕关闭后继续运行.

对华为来说很明智,但不幸的是,对于我来说,它看起来像是选择加入,即默认情况下应用程序已经关闭,你必须手动将它们放入.这不是一个showstopper,因为我可以在常见问题解答或打印中建议用户关于修复的文档,但我最近安装了Tinder(用于研究目的!),并注意到它被自动放入受保护的列表中.

有谁知道我的应用程序如何做到这一点?它是清单中的设置吗?这是华为为Tinder启用的东西,因为它是一个受欢迎的应用程序?

android android-manifest

129
推荐指数
4
解决办法
6万
查看次数

如何在java中找到两个日期之间的差异持续时间?

我有两个DateTime对象,需要找到它们的差异持续时间,

我有以下代码,但不知道如何继续它以获得预期的结果如下:

      11/03/14 09:30:58
      11/03/14 09:33:43
      elapsed time is 02 minutes and 45 seconds
      -----------------------------------------------------
      11/03/14 09:30:58 
      11/03/15 09:30:58
      elapsed time is a day
      -----------------------------------------------------
      11/03/14 09:30:58 
      11/03/16 09:30:58
      elapsed time is two days
      -----------------------------------------------------
      11/03/14 09:30:58 
      11/03/16 09:35:58
      elapsed time is two days and 05 mintues
Run Code Online (Sandbox Code Playgroud)

    String dateStart = "11/03/14 09:29:58";
    String dateStop = "11/03/14 09:33:43";

    Custom date format
    SimpleDateFormat format = new SimpleDateFormat("yy/MM/dd HH:mm:ss");

    Date d1 = null;
    Date d2 = null; …
Run Code Online (Sandbox Code Playgroud)

java date-arithmetic

101
推荐指数
9
解决办法
33万
查看次数

如何在JavaScript中实现锁定

如何lock在JavaScript中实现与C#相同的东西?

所以,要解释我在想什么简单的用例是:

用户点击按钮B. B提出onclick事件.如果B是在event-state事件等待B是在ready-state传播之前.如果B处于ready-state,B已锁定并设置为event-state,则事件将传播.事件的传播完成后,B设置为ready-state.

我可以看到如何通过添加和删除ready-state按钮中的类来完成与此相近的操作.但是,问题是用户可以连续两次单击按钮,而不是可以设置变量,因此在某些情况下锁定尝试将失败.

有谁知道如何实现一个不会在JavaScript中失败的锁?

javascript events deadlock locking javascript-events

72
推荐指数
5
解决办法
8万
查看次数

Android - 使用postDelayed()调用定期运行方法

我有一个Android应用程序的情况,我想开始一个应该每秒运行的网络活动(发送一些数据).我实现如下:

onCreate()我有代码:

tv = new TextView(this);
tv.postDelayed(sendData, 1000);
Run Code Online (Sandbox Code Playgroud)

sendData()函数:

   Handler handler = new Handler();
   private Runnable sendData=new Runnable(){
    public void run(){
        try {
            //prepare and send the data here..
            handler.removeCallbacks(sendData);
            handler.postDelayed(sendData, 1000);    
        }
        catch (Exception e) {
            e.printStackTrace();
        }   
    }
};
Run Code Online (Sandbox Code Playgroud)

问题是这样的:当用户按下后退按钮并且应用程序出现(UI消失)时,该sendData()功能仍然会被执行,这就是我想要的.现在,当用户重新启动应用程序时,我onCreate()再次被sendData()调用,并且每秒调用两次.它继续这样下去.每当用户出来并重新开始时,sendData()每秒钟就会发生一次.

我究竟做错了什么?这是我的new Handler()创造问题吗?处理这个问题的最佳方法是什么?sendData()在用户退出应用程序(表单应用程序管理器)之前,我希望每秒调用一次.

android postdelayed

45
推荐指数
4
解决办法
15万
查看次数

AlarmManager无法在Lollipop中使用Samsung设备

我开发了一个应用程序,它使用AlarmManager来设置需要在一年中的某个特定时间触发的群警报(通常大约50个).这是我正在使用的代码,因为4.4 kitkat更改了AlarmManager.

AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
long setDate = fireDate.getTime(); // it's a calendar date defined above
Intent intent = new Intent(LOCAL_DISPLAY_MESSAGE_ACTION);
PendingIntent pending = PendingIntent.getBroadcast(ctx,
                            id, intent, PendingIntent.FLAG_UPDATE_CURRENT);

if (Build.VERSION.RELEASE.startsWith("6")) {
    am.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, setDate, pending);
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){
    am.setExact(AlarmManager.RTC_WAKEUP, setDate, pending);
} else {
    am.set(AlarmManager.RTC_WAKEUP, setDate, pending);
}
Run Code Online (Sandbox Code Playgroud)

除了上面的代码,我正在使用清单中正确定义的广播接收器.

public class LocalReceiver extends BroadcastReceiver {

    public void onReceive(Context context, Intent intent) {
        PushWakeLocker.acquire(context);

        // do some stuff

        PushWakeLocker.release();
    }
}
Run Code Online (Sandbox Code Playgroud)

更多信息可能会有所帮助.

<uses-sdk
    android:minSdkVersion="10"
    android:targetSdkVersion="19" />
Run Code Online (Sandbox Code Playgroud)

几个月以前,我一直只是从三星设备(5.0 …

android alarmmanager samsung-mobile android-5.0-lollipop android-5.1.1-lollipop

6
推荐指数
1
解决办法
4820
查看次数