加载中
你的手机可能不是原生系统吧?你涉及到的操作是读取安装到系统中的证书的,android为了安全起见,需要设置一个进入手机是的密码,可以是手势锁或者密码。如果你安装证书的时候,没有提示你设置密码,说明你的手机是定制过的系统,我用的小米手机也这样。使用Nexus6(原生系统)就可以了。
@Dawn_sun
调用 KeyChain.choosePrivateKeyAlias(....)后会弹出一个选择已经安装的证书窗口,...
logan676 2015/11/23 16:54 回答了问题: 微信支付异步回调接收不到数据

遇到了同样的问题@宁宁123韩能否分享下解决问题的经验。

我的问题是,用同一个签名文件了两个包,一个正式版,一个测试版,正式版和测试版的包名不同,后者多了一个.debug后缀。api_key, api_secret也不同。配置好微信的参数之后,正式版可以登录,测试版能调起微信客户端,并授权成功但是接收不到微信客户端返回的信息。我怀疑是配置错误,但是找不到具体原因。

@宁宁123韩
大神们啊,接入微信支付,微信支付成功,成功调起回调,但是微信回调之后我接收不到微信给我返回的通知~ 有木有做过的大...
logan676 2015/10/16 13:56 发布了新博客:
logan676 2015/01/15 11:54 回答了问题: 如何用队列管理AsyncTask
 这个问题已经使用队列来实现了。
private List<DownloadTask> downloadingList = Lists.newArrayList();
    private List<DownloadTask> downloadWaitingList = Lists.newArrayList();
    // private static int mDownloadingCount = 0;
    private static final int DOWNLOAD_MAX_COUNT = 1;

    public void addTaskToDownloadQue(Account account,
                                     String repoName,
                                     String repoID,
                                     String path) {
        synchronized (downloadWaitingList) {
            boolean hasInQue = false;
            int index = -1;
            for (DownloadTask downloadTask : downloadWaitingList) {
                if (downloadTask.myRepoName.equals(repoName) &&
                        downloadTask.myPath.equals(path)) {
                    hasInQue = true;
                    index = downloadTask.getTaskID();
                    // Log.d(DEBUG_TAG, "in  Que  " + index + " " + repoName + path + "in waiting list");
                    break;
                }
            }

            for (DownloadTask downloadTask : downloadingList) {
                if (downloadTask.myRepoName.equals(repoName) &&
                        downloadTask.myPath.equals(path)) {
                    hasInQue = true;
                    index = downloadTask.getTaskID();
                    // Log.d(DEBUG_TAG, "in  Que  " + index + " " + repoName + path + " in downloading list" );
                    break;
                }
            }

            if (hasInQue) {
                // Log.d(DEBUG_TAG, "in  Que  " + index + " " + repoName + path );
            } else {
                DownloadTask task = new DownloadTask(account, repoName, repoID, path);

                // Log.d(DEBUG_TAG, "add Que  " + task.getTaskID() + " " + repoName + path);
                downloadWaitingList.add(task);
                downloadNext();
            }
        }
    }

    private void downloadNext() {
        // Log.d(DEBUG_TAG, "DownloadingCount:" + mDownloadingCount);
        if (!downloadWaitingList.isEmpty()
                && downloadingList.size() < DOWNLOAD_MAX_COUNT) {
            // mDownloadingCount++;
            // Log.d(DEBUG_TAG, "do next!");

            DownloadTask item = downloadWaitingList.get(0);
            downloadingList.add(item);
            downloadWaitingList.remove(0);
            item.execute();
        }
    }

    private void downloadNextInQue(int taskID) {
        synchronized (downloadWaitingList) {
            removeCurrentDownloadItem(taskID);
            downloadNext();
        }
    }

    private void removeCurrentDownloadItem(int taskID) {
        // Log.d(DEBUG_TAG, "removeCurrentDownloadItem:" + taskID);

        if (!downloadingList.isEmpty()) {
            DownloadTask toRemove = getDownloadTaskByID(taskID);
            for (int i = 0; i < downloadingList.size(); i++) {
                if (downloadingList.get(i).myRepoName.equals(toRemove.myRepoName) &&
                        downloadingList.get(i).myPath.equals(toRemove.myPath)) {
                    // Log.d(DEBUG_TAG, "Done Que " + taskID + " " + toRemove.myRepoName + toRemove.myPath);
                    downloadingList.remove(i);
                    break;
                }
            }
        }

    }

# 下载

## 添加下载任务

1. 把这些文件添加到下载等待队列


## 使用队列管理下载任务

1. 使用下载等待队列和下载队列管理下载任务

2. 设置一个允许同时下载的最大任务数

3. 当下载队列中任务数小于最大任务数时,从下载等待队列中获取新的下载任务

4. 当某个下载任务执行完成后,从下载队列移除它,并从下载等待队列获取一个新的下载任务,依次类推,直到下载等待队列为空

## 下载列表下载进度刷新

1. 使用定时器,每1s触发一个刷新事件

2. 每次刷新,获取一次数据源





@logan676
我最近在写一个Android文件下载的模块,具体的实现是这样的。 当用户选择多个文件或着文件夹后,获取到选择的文件...
logan676 2015/01/10 15:53 发布了新博客:
logan676 2014/12/01 18:50 发布了问题:
logan676 2014/10/21 11:52 发布了新博客:
logan676 2014/09/16 17:23 回答了问题: Android Service 自动启动
遇到和二楼、三楼一样的问题啊,同问
@鉴客
我们在使用某些Android应用的时候,可能会发现安装了某应用以后,会有一些服务也会随之运行。而且,这些服务每次都...
logan676 2014/07/21 22:28 发布了新博客:
logan676 2013/11/14 19:20 发布了新博客:

没有更多内容

加载失败,请刷新页面

返回顶部
顶部