應該是Android 6.0以後,這類的硬體功能調整光是在Manifest檔中加上「User-Permission」並不夠,還需要有「權限啟動」的通知。
方法大概如上。這個功能會啟動特定APP的權限管理頁,讓使用者決定是否要自己打開權限。
但在執行這行之前,要詢問系統是否有「執行他們」的能力,--是否有修改Setting的權限。
這是個函數,後面要傳入「Activity」作為參數。
如果回傳false,就表示權限未開啟,如果執行程式碼會導致當機。
之後就是很一般的程式碼,直接取得Setting類別後,要求修改特定參數。
brightNeess這個參數要自己自訂。(寫死?或是可以讓使用怎選取、輸入想要的數直。)
Intent intent1 = new Intent(android.provider.Settings.ACTION_MANAGE_WRITE_SETTINGS);intent1.setData(Uri.parse("package:" + getPackageName()));intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(intent1);
方法大概如上。這個功能會啟動特定APP的權限管理頁,讓使用者決定是否要自己打開權限。
但在執行這行之前,要詢問系統是否有「執行他們」的能力,--是否有修改Setting的權限。
Settings.System.canWrite
這是個函數,後面要傳入「Activity」作為參數。
如果回傳false,就表示權限未開啟,如果執行程式碼會導致當機。
之後就是很一般的程式碼,直接取得Setting類別後,要求修改特定參數。
android.provider.Settings.System.putInt( getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE, android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);android.provider.Settings.System.putInt( getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS, brightNeess);
brightNeess這個參數要自己自訂。(寫死?或是可以讓使用怎選取、輸入想要的數直。)
沒有留言:
張貼留言