小编use*_*460的帖子

如何在Android中使用模式/密码模式锁定/解锁屏幕?

我成功锁定/解锁使用我的屏幕DevicePolicyManagerKeyguardManagerAndroid中L.它运作良好,当我用划模式(无安全性)锁定/解锁屏幕.但是,当我使用模式和密码模式锁定/解锁屏幕时,我无法锁定/解锁它(更高的安全性).是否可以使用DevicePolicyManager和以高安全性锁定/解锁屏幕KeyguardManager.?这就是我做的

protected static final int REQUEST_ENABLE = 0;
DevicePolicyManager devicePolicyManager;
ComponentName adminComponent;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button button = (Button) findViewById(R.id.btn);
    button.setOnClickListener(btnListener);

}

//LOCK
Button.OnClickListener btnListener = new Button.OnClickListener() {
    public void onClick(View v) {
        adminComponent = new ComponentName(MainActivity.this, Darclass.class);
        devicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);

        if (!devicePolicyManager.isAdminActive(adminComponent)) {

            Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
            intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, adminComponent);
            startActivityForResult(intent, REQUEST_ENABLE);
        } else {
            devicePolicyManager.lockNow();
        }

    }
}; 

//UNLOCK
 private KeyguardManager keyguardManager;
 KeyguardManager.KeyguardLock …
Run Code Online (Sandbox Code Playgroud)

android android-screen android-5.0-lollipop

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

缺乏在Android 6.0中访问相机服务的权限

我在Android 6.0中使用Camera2API.我在Android 5.0中没有错误地完成了.但是,当我在Android 6.0中使用我的代码时,我遇到了问题.问题是,有时我可以成功打开相机并拍照.但是,有时相机无法打开而且有错误

java.lang.SecurityException: Lacking privileges to access camera service
    at android.hardware.camera2.utils.CameraBinderDecorator.throwOnError(CameraBinderDecorator.java:108)
Run Code Online (Sandbox Code Playgroud)

我添加了运行时权限,如下所示:

String[] PERMISSIONS = {Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.CAMERA};
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
    if(!hasAllPermissions(this, PERMISSIONS)){
        ActivityCompat.requestPermissions(this, PERMISSIONS, PERMISSION_ALL);
    }
}

public static boolean hasAllPermissions(Context context, String... permissions) {
    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && context != null && permissions != null) {
        for (String permission : permissions) {
            if (ActivityCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) {
                return false;
            }
        }
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

这都是日志

FATAL EXCEPTION: main
Process: com.example.camera2api, PID: 5376
java.lang.SecurityException: …
Run Code Online (Sandbox Code Playgroud)

android android-camera android-permissions android-6.0-marshmallow

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

在inKeyguardRestrictedInputMode()中返回失败结果

我有一个功能来确定手机屏幕的四种状态:屏幕打开,屏幕关闭,屏幕打开锁定,屏幕打开无锁定.我的功能是

private KeyguardManager keyguardManager;
public String getScreenStatus()
{
    String sreen_State="unknown";
    keyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
    PowerManager pm = (PowerManager) getApplicationContext().getSystemService(Context.POWER_SERVICE);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
        if (pm.isInteractive()) {
            sreen_State="screen_on";
            if(!keyguardManager.inKeyguardRestrictedInputMode()) {
                sreen_State="screen_on_no_lock_screen";

            }else{
                Log.i(TAG, "screen_on_lock_screen");
                sreen_State="screen_on_lock_screen";
            }
        }
        else {
            sreen_State="screen_off";
        }
    }
    else if(Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT_WATCH){
        if(pm.isScreenOn()){
            sreen_State="screen_on";
            if(!keyguardManager.inKeyguardRestrictedInputMode()) {
                Log.i(TAG, "screen_on_no_lock_screen");
                sreen_State="screen_on_no_lock_screen";

            }else{
                Log.i(TAG, "screen_on_lock_screen");
                sreen_State="screen_on_lock_screen";
            }

        }
        else {
            mIsScreenOn=false;
            sreen_State="screen_off";
        }
    }
    return sreen_State;
}
Run Code Online (Sandbox Code Playgroud)

上述功能返回屏幕的校正状态.但是,当我再添加一个代码时,它有错误,如下所示:

 KeyguardManager.KeyguardLock
 kl = keyguardManager.newKeyguardLock("MyKeyguardLock");
 if(index.equals("1"))
        kl.disableKeyguard();
  else if(indexequals("2"))
        kl.reenableKeyguard();
  getScreenStatus();
Run Code Online (Sandbox Code Playgroud)

按下按钮可以改变索引.现在,屏幕状态出现了错误.它总是返回 …

android android-service android-powermanager

12
推荐指数
1
解决办法
452
查看次数

如何在用户单击正确的目标应用程序时关闭ACTION_USAGE_ACCESS_SETTINGS意图?

我在set ACTION_USAGE_ACCESS_SETTINGS(Settings->Security->Apps with usage access)中使用Intent 在UsageStatsManagerLollipop版本中使用.

 public static final int MY_PERMISSIONS_REQUEST_PACKAGE_USAGE_STATS = 1;

 if(!hasPermission()){
                startActivityForResult(
                        new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS),
                        MY_PERMISSIONS_REQUEST_PACKAGE_USAGE_STATS);
            }
Run Code Online (Sandbox Code Playgroud)

首先,onCreate()将检查应用程序的权限.如果应用没有权限,则打开Intent(不检查)

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private boolean hasPermission() {
    try {
        PackageManager packageManager = getApplicationContext().getPackageManager();
        ApplicationInfo applicationInfo = packageManager.getApplicationInfo(getApplicationContext().getPackageName(), 0);
        AppOpsManager appOpsManager = (AppOpsManager) getApplicationContext().getSystemService(Context.APP_OPS_SERVICE);
        int mode = appOpsManager.checkOpNoThrow(AppOpsManager.OPSTR_GET_USAGE_STATS, applicationInfo.uid, applicationInfo.packageName);
        return (mode == AppOpsManager.MODE_ALLOWED);

    } catch (PackageManager.NameNotFoundException e) {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果用户选择(检查)目标应用程序,我想关闭设置窗口,否则,它将显示有关应用程序名称的消息,以指导用户的选择.我该怎么做?谢谢.我认为它会onActivityResult起作用

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode …
Run Code Online (Sandbox Code Playgroud)

android android-intent android-5.0-lollipop

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

优化非常大的稀疏矩阵的秩计算

我有一个稀疏矩阵,如

A =

   (1,1)        1
   (3,1)        1
   (1,2)        1
   (2,2)        1
   (1,3)        1
   (3,3)        1
   (4,3)        1
   (4,4)        1
Run Code Online (Sandbox Code Playgroud)

完整的矩阵A可以看如下:

full(A) =

     1     1     1     0
     0     1     0     0
     1     0     1     0
     0     0     1     1
Run Code Online (Sandbox Code Playgroud)

我想A通过快速方式找到矩阵的等级(因为我的矩阵可以扩展到10000 x 20000).我尝试通过两种方式来做,但它给出了不同的结果

  1. 转换为完整矩阵并使用查找排名

    rank(full(A)) = 3
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用sprank查找排名

    sprank(A) = 4
    
    Run Code Online (Sandbox Code Playgroud)

真正的答案必须是3,这意味着使用第一种方式.但是,需要很长时间才能找到排名,特别是大尺寸的矩阵.我知道第二种方式给出4的原因是因为sprank只告诉你矩阵有多少行/列有非零元素,而rank则报告矩阵的实际等级,表示矩阵的行数是线性无关的.sprank(A)是4,但rank(A)只有3,因为您可以将第三行写为其他行的线性组合,具体而言A(2,:) - A(1,:).

我的问题是如何找到具有最低时间消耗的稀疏矩阵的秩

更新:我试图用某种方式.然而,它报告了更长的时间消耗

%% Create random matrix
 G = sparse(randi(2,1000,1000))-1;
 A=sparse(G) %% Because my input matrix is …
Run Code Online (Sandbox Code Playgroud)

algorithm performance matlab matrix

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

如何从python中的3D图像中提取高速缓存?

我有一个大小的3D图像:( Deep x Weight x Height例如:10x20x30,表示10张图像,每张图像都有大小20x30.

给定补丁大小pd x pw x ph(例如pd <Deep, pw<Weight, ph<Height),例如补丁大小:4x4x4.路径的中心点位置为:pd/2 x pw/2 x ph/2.让我们把时间之间的距离t和时间t+1的中心点是stride,例如stride=2.

我想将原始3D图像提取到上面给出的大小和步幅的补丁中.我怎么能在python中做到这一点?谢谢

.

在此输入图像描述

python numpy image-processing computer-vision

5
推荐指数
1
解决办法
2304
查看次数

找到噪声图像边缘的最佳方法

我有一个噪音图像,如波纹图.假设它是高斯噪声.目前,我正在使用两个步骤来查找边缘

  1. 使用高斯滤波器G平滑图像
  2. 根据等式找到边缘

    g = 1 /(1 +β∇(I*G)^ 2)

其中G是高斯滤波器.β是控制噪音水平的重量.

然而,高斯滤波器是图像边缘丢失的原因.我想找到一个更好的方法来保存边缘信息.您能否向我建议找到该图像边缘的最佳方法?

这是我上述步骤的结果

在此输入图像描述

这是我正在处理的噪声添加的图像:

在此输入图像描述

为了获得优势,这是我写的MATLAB代码:

beta=0.01;
G = fspecial('gaussian',[3 3],1);
I_G = conv2(I,G,'same');
[Gx,Gy] = gradient(I_G);
NormGrad = sqrt(Gx.^2 + Gy.^2); 
g = 1./ (1 + beta* NormGrad.^2);
imshow(g,[]);
Run Code Online (Sandbox Code Playgroud)

matlab image image-processing edge-detection

3
推荐指数
1
解决办法
2016
查看次数

如何计算矩阵的对数但忽略等于0的值

我有一个矩阵A 3x3,它的某些元素等于0。我想计算log(A)。但是我们知道对数(0)无法识别。因此,我想计算忽略元素等于0的矩阵A的对数。如果元素等于0,则要设置log(0)= 0。如何在Matlab中实现它。谢谢大家 范例:

A=[3 2 3
   3 0 2
   4 5 0]
Log(A)=[    1.0986    0.6931    1.0986
            1.0986      0       0.6931
            1.3863    1.6094         0]
Run Code Online (Sandbox Code Playgroud)

matlab

2
推荐指数
1
解决办法
3396
查看次数

如何在数组中找到最后一个非零的元素的索引

我有一个d它的大小的矢量1x1000.它从存储随机值01.例如

d=[0.0076 0.4629 0.1554...0 0 0 0 ...0.0442 0 0 0 10^-7 10^-7 10^-7] 
Run Code Online (Sandbox Code Playgroud)

现在,我想获得向量的最后一个元素的索引(具有最大化索引)受到non-zero或大于10^-7).对于我的例子,有值的元素是0.0442index=?.如何通过MATLAB实现它?谢谢大家

matlab

2
推荐指数
1
解决办法
1493
查看次数

重叠两个字符串时,警告控制字符“ \ S”无效

我有两个变量,例如:

path='data\voc11\SegmentationClassExt\%s.png'
name='123'
Run Code Online (Sandbox Code Playgroud)

我想像这样将两个字符串连接成一个字符串:

data\voc11\SegmentationClassExt\123.png
Run Code Online (Sandbox Code Playgroud)

我使用下面的代码:

sprintf(path, name)
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

警告:控制字符'\S'无效。有关sprintf格式字符串中有效的控制字符,请参见'doc '。

ans =

dataoc11
Run Code Online (Sandbox Code Playgroud)

我在Windows上使用MATLAB。你能给我任何解决方案吗?我尝试进行更改 path='data\\voc11\\SegmentationClassExt\\%s.png',当我这样做时,上面的代码将起作用。但是,当前数据是

path='data\voc11\SegmentationClassExt\%s.png';
Run Code Online (Sandbox Code Playgroud)

matlab

2
推荐指数
1
解决办法
1233
查看次数