天道酬勤,学无止境

android-settings

如何禁用AIRPLANE MODE平板电脑支持4.4.2(How Do I Disable AIRPLANE MODE tablet supports 4.4.2)

问题 我必须禁用AIRPLANE MODE和DATE TIME SETTINGS在我的应用程序,为我所用,这些意图过滤器,但none他们的works对我来说 <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.settings.AIRPLANE_MODE_SETTINGS" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <intent-filter> <action

2021-11-28 17:37:51    分类:技术分享    android   android-manifest   intentfilter   airplane   android-settings

如何启用 Android 下载管理器(How to Enable Android Download Manager)

问题 我正在使用 Android 下载管理器下载文件列表。 最近我看到一个崩溃报告说 Unknown java.lang.IllegalArgumentException: Unknown URL content://downloads/my_downloads 后来,我发现原因是因为用户禁用了Android下载管理器。 我通过使用下面的代码检查它的包名称来检查下载管理器是否被禁用。 int state = this.getPackageManager().getApplicationEnabledSetting("com.android.providers.downloads"); 现在,如果下载管理器被禁用,我需要找到一种方法来启用它。 我尝试使用 Manifest 中的权限设置它的启用状态,但我不断收到安全异常。 this.getPackageManager().setApplicationEnabledSetting("com.android.providers.downloads", PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0); <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/>

2021-11-28 00:59:09    分类:技术分享    android   android-package-managers   android-download-manager   android-settings

How to Enable Android Download Manager

I'm using Android Download Manager to download list of files. Lately I came across a crash report saying Unknown java.lang.IllegalArgumentException: Unknown URL content://downloads/my_downloads Then later, I figured it out that the reason is because user disabled Android Download Manager. I check if the Download Manager is disabled by checking it's package name with the code below. int state = this.getPackageManager().getApplicationEnabledSetting("com.android.providers.downloads"); And now, I need to find a way to enable the Download Manager if it is disabled. I tried setting it's enable state

2021-11-21 05:13:49    分类:问答    android   android-package-managers   android-download-manager   android-settings

How Do I Disable AIRPLANE MODE tablet supports 4.4.2

I have to disable AIRPLANE MODE and DATE TIME SETTINGS in my app, for that i used these intent filters but none of them works for me <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.settings.AIRPLANE_MODE_SETTINGS" /> <category android:name="android.intent.category

2021-11-20 06:01:41    分类:问答    android   android-manifest   intentfilter   airplane   android-settings

How to know whether Notifications are enabled or not for an application in android?

I've a ListView which has the list of installed applications and for each application, I need to know whether the notifications are enabled or not. Currently I'm using below code to know if the notifications are enabled: appOpsClass = Class.forName(AppOpsManager.class.getName()); Method checkOpNoThrowMethod = appOpsClass.getMethod(CHECK_OP_NO_THROW, Integer.TYPE, Integer.TYPE, String.class); Field opPostNotificationValue = appOpsClass.getDeclaredField(OP_POST_NOTIFICATION); int value = (int)opPostNotificationValue.get(Integer.class); return ((int)checkOpNoThrowMethod.invoke(mAppOps,value

2021-11-19 18:31:30    分类:问答    android   android-notifications   android-settings

如果设置 -> 显示 -> 显示大小更改为大或小,则禁用应用程序或活动缩放(Disabling an app or activity zoom if Setting -> Display -> Display size changed to Large or small)

问题 在我的应用程序中,我不想让它在创建设计问题时调整大小。 我曾尝试在应用程序标签和启动器活动标签中使用android:resizeableActivity="false"但它没有帮助。 回答1 我已经找到了解决方案。 如果系统文本大小更改或显示大小设置为大(Android Oreo 以上),您的应用程序将使用以下代码正常运行(无大文本和缩放视图): Configuration configuration = getResources().getConfiguration(); configuration.fontScale = (float) 1; //0.85 small size, 1 normal size, 1,15 big etc DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); metrics.scaledDensity = configuration.fontScale * metrics.density; configuration.densityDpi = (int) getResources().getDisplayMetrics().xdpi; getBaseContext()

2021-10-22 23:57:16    分类:技术分享    android   android-manifest   android-settings

如何打开并检查 Play Protect 是启用还是禁用(How to open and check whether Play Protect is enabled or disabled)

问题 minSdkVersion 18 targetSdkVersion 27 使用以下代码,我可以打开Google 设置页面。 private static final String GOOGLE_SETTINGS_COMPONENT = "com.google.android.gms"; private static final String GOOGLE_SETTINGS_ACTIVITY = ".app.settings.GoogleSettingsActivity"; Intent i = new Intent(); i.setClassName(GOOGLE_SETTINGS_COMPONENT,GOOGLE_SETTINGS_COMPONENT + GOOGLE_SETTINGS_ACTIVITY); try { startActivity(i); } catch (android.content.ActivityNotFoundException ex) { Toast.makeText(getApplicationContext(), "Activity Not Found", Toast.LENGTH_LONG).show(); } 是否可以直接打开Google 设置-->安全--> Google Play 保护页面。

2021-10-20 11:29:06    分类:技术分享    android   android-intent   google-play   android-settings   google-settings

以编程方式在 Android Nougat 和 O 中获取设备 mac 地址(Get Device mac adress in Android Nougat and O programmatically)

问题 我有一个应用程序,它需要设备 mac 地址。 我很容易在 Marshmallow 及以下获取 mac 地址,但 android nougat 和 O 有问题。那么如何找到 mac。 回答1 自 6.0 及更高版本更改:https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-hardware-id 为了向用户提供更好的数据保护,从本版本开始,Android 删除了使用 Wi-Fi 和蓝牙 API 的应用程序对设备本地硬件标识符的编程访问。 WifiInfo.getMacAddress() 和 BluetoothAdapter.getAddress() 方法现在返回一个常量值 02:00:00:00:00:00。 要通过蓝牙和 Wi-Fi 扫描访问附近外部设备的硬件标识符,您的应用现在必须具有 ACCESS_FINE_LOCATION 或 ACCESS_COARSE_LOCATION 权限。 7.0 中的行为变化: 设备所有者可以访问设备标识符。 设备所有者可以使用 DevicePolicyManagewr.getWifiMacAddress() 访问设备的 Wi-Fi MAC 地址。 如果设备上从未启用 Wi-Fi,则此方法返回值 null。 回答2

2021-10-10 11:25:22    分类:技术分享    android   android-7.0-nougat   android-settings   android-8.0-oreo

如何检测/识别设备锁定屏幕设置是否设置为无?(How to detect/identify if device Lock Screen setting is set to None?)

问题 如果设备没有在设置时定义安全性,我需要在启用我的应用程序之前检查。 无法设置:图案、PIN、密码甚至刷卡。 有谁知道检查锁屏设置是否未启用的方法? 或者,我们可以检查启用了上述哪个锁屏设置吗? 谢谢! 回答1 您可以使用 KeyguardManager - 在您的情况下, isSecureMethod() 应该返回 false 。 http://developer.android.com/reference/android/app/KeyguardManager.html

2021-10-07 07:57:25    分类:技术分享    android   android-settings   android-security

Android Marshmallow (6.0) 上的 vibrate_when_ringing(vibrate_when_ringing on Android Marshmallow (6.0))

问题 在我的代码中,我有: Settings.System.putInt(this.getContentResolver(), "vibrate_when_ringing", isVibrateWhenRinging ? 1 :0); 使用以下权限: <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 从 Jelly Bean (API 16) 到 Lollipop (API 22),这一切都很好。 在 Android M 中,我知道要使用该权限,我需要提示用户 Settings.ACTION_MANAGE_WRITE_SETTINGS。 但是,即使打开了该权限,我也会看到以下错误: E/AndroidRuntime: java.lang.IllegalArgumentException: You cannot change private secure settings. E/AndroidRuntime: at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:165) E/AndroidRuntime: at android.database.DatabaseUtils

2021-09-29 12:17:04    分类:技术分享    android   android-6.0-marshmallow   android-vibration   android-settings