我正在研究新的权限模型(Android 6.0 Marshmallow),我想知道有没有办法以编程方式打开应用程序的权限窗口?
不仅是申请细节
我设法用这样的东西打开第二个屏幕
private void goToSettings() {
Intent myAppSettings = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, Uri.parse("package:" + getPackageName()));
myAppSettings.addCategory(Intent.CATEGORY_DEFAULT);
myAppSettings.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(myAppSettings);
}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何打开第一个.
非常感谢您的帮助:)
permissions android android-settings android-6.0-marshmallow
小米设备最新更新引入了一项新权限,可阻止我在后台运行的应用程序(自定义快捷方式启动器)运行,直到用户启用此权限:“在后台运行时显示弹出窗口”
问题是,如何显示此权限的权限提示窗口,或者至少如何将用户重定向到“其他权限”屏幕?
我试图在用户按下按钮时以编程方式锁定设备.我知道我需要使用deviceAdminReciever并且我已经这样做了但是每当我运行它时我的应用程序都会崩溃
以下是我的清单:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.MyApp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver
android:name=".MainActivity"
android:permission="android.permission.BIND_DEVICE_ADMIN" >
<meta-data
android:name="android.app.device_admin"
android:resource="@xml/device_admin_sample" />
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter>
</receiver>
</application>
<uses-feature android:name="android.hardware.camera" />
</manifest>
Run Code Online (Sandbox Code Playgroud)
以下是我的java代码:
public class MainActivity extends DeviceAdminReceiver {
public static class MyActivity extends Activity {
protected static final int ACTIVATION_REQUEST = 1;
private ImageButton btn;
private DevicePolicyManager mDPM;
private ComponentName …Run Code Online (Sandbox Code Playgroud)