桌面低内存跳转

  protected void onClickAppShortcut(final View v) {

  if (intent == null) {
            throw new IllegalArgumentException("Input must have a valid intent");
        }
        if (mayLowStorage(intent)) {
            return;
        }

。。。。

 

private static final long MIN_MAY_LOW_STORAGE_THRESHOLD = 100L * 1024 * 1024;
    private boolean mayLowStorage(Intent appIntent) {
        if (appIntent.getComponent() == null) {
            return false;
        }
        String pkg = appIntent.getComponent().getPackageName();
        if ("com.android.dialer".equals(pkg) || "com.android.contacts".equals(pkg) ||
            "com.google.android.apps.messaging".equals(pkg) || "com.google.android.apps.nbu.files".equals(pkg)) {
            return false;
        }
        String storageDirectory = Environment.getDataDirectory().toString();
        StatFs stat = new StatFs(storageDirectory);
        long availableBlocks = stat.getAvailableBlocksLong();
        long blockSize = stat.getBlockSizeLong();
        long remaining = availableBlocks * blockSize;
        boolean lowStorage = remaining < MIN_MAY_LOW_STORAGE_THRESHOLD;
        if (lowStorage) {
            Toast.makeText(this, R.string.low_memory_hint, Toast.LENGTH_LONG).show();
            try {
                Intent intent = new Intent("android.settings.INTERNAL_STORAGE_SETTINGS");
                intent.setPackage("com.android.settings");
                intent.putExtra("low_memory", true);
                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK);
                startActivity(intent);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return lowStorage;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值