android - MIUI8短信權限問題
問題描述
MIUI8短信權限增加了普通短信權限和通知類短信權限,而且通知類短信權限默認給關閉了?有沒有相關的代碼去請求打開通知類短信權限?
問題解答
回答1:這種權限比較好的做法應該是做一個引導界面引導用戶手動開啟吧
回答2:如果應用自己可以更改自己的權限,那請問這個權限管理還有什么用?
回答3:我是通過將手機root之后進入權限管理xml表修改相應權限
回答4:package top.fengshiquan.online.util;
import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.util.Properties;
import android.content.ActivityNotFoundException;import android.content.Context;import android.content.Intent;import android.net.Uri;import android.os.Build;import android.os.Environment;import android.provider.Settings;
public class MIUIUtils{
// 檢測MIUIprivate static final String KEY_MIUI_VERSION_CODE = 'ro.miui.ui.version.code';private static final String KEY_MIUI_VERSION_NAME = 'ro.miui.ui.version.name';private static final String KEY_MIUI_INTERNAL_STORAGE = 'ro.miui.internal.storage';/** * 檢查手機是否是miui * * @ref http://dev.xiaomi.com/doc/p=254/index.html * @return */public static boolean isMIUI(){ String device = Build.MANUFACTURER; System.out.println('Build.MANUFACTURER = ' + device); if (device.equals('Xiaomi')) {System.out.println('this is a xiaomi device');Properties prop = new Properties();try{ prop.load(new FileInputStream(new File(Environment .getRootDirectory(), 'build.prop')));} catch (IOException e){ e.printStackTrace(); return false;}return prop.getProperty(KEY_MIUI_VERSION_CODE, null) != null|| prop.getProperty(KEY_MIUI_VERSION_NAME, null) != null|| prop.getProperty(KEY_MIUI_INTERNAL_STORAGE, null) != null; } else {return false; }}/** * 跳轉到應用權限設置頁面 http://www.tuicool.com/articles/jUby6rA * * @param context * 傳入app 或者 activity * context,通過context獲取應用packegename,之后通過packegename跳轉制定應用 * @return 是否是miui */public static boolean gotoPermissionSettings(Context context){ boolean mark = isMIUI(); if (mark) {// 只兼容miui v5/v6 的應用權限設置頁面,否則的話跳轉應用設置頁面(權限設置上一級頁面)try{ Intent localIntent = new Intent( 'miui.intent.action.APP_PERM_EDITOR'); localIntent .setClassName('com.miui.securitycenter', 'com.miui.permcenter.permissions.AppPermissionsEditorActivity'); localIntent.putExtra('extra_pkgname', context.getPackageName()); context.startActivity(localIntent); } catch (ActivityNotFoundException e){ Intent intent = new Intent( Settings.ACTION_APPLICATION_DETAILS_SETTINGS); Uri uri = Uri.fromParts('package', context.getPackageName(), null); intent.setData(uri); context.startActivity(intent);} } return mark;}
}
相關文章:
1. docker - 如何修改運行中容器的配置2. javascript - Web微信聊天輸入框解決方案3. 請教各位大佬,瀏覽器點 提交實例為什么沒有反應4. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?5. javascript - 移動端textarea不能上下滑動,該怎么解決?6. javascript - history.replaceState()無法改變query參數7. css - 對于類選擇器使用的問題8. javascript - Ajax加載Json時,移動端頁面向左上角縮小一截兒,加載完成后才正常顯示,這該如何解決?9. javascript - 為什么這個點擊事件需要點擊兩次才有效果10. javascript - 為什么form表單提交沒有跨域問題,但ajax提交有跨域問題?
