我制作了一个应用程序,用于在没有用户交互的情况下测试各种手机功能,但它在某些设备上无法运行,即使它之前运行良好。我的理论是它需要运行时权限,我是对的。当我将运行时权限放在活动中时,它运行良好。问题是它请求用户的权限,而我无法进行用户交互。有没有办法在没有用户交互的情况下授予活动权限?
我将包括一个让记录器活动起作用的活动,但取决于授予权限的用户。请帮忙!!
public static final int RECORD_AUDIO_PERMISSION_REQUEST = 3;
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/*
* API's to launch the application when the tablet is locked or
* display is turned off
*/
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LOCKED);
setContentView(R.layout.activity_recorder);
//Check to see if the device has a microphone
PackageManager pm = getPackageManager();
boolean micPresent = pm.hasSystemFeature(PackageManager.FEATURE_MICROPHONE);
if (!micPresent) {
Log.i(log_tag, "There is no microphone present in this device.");
exit_function();
} else {
createTempFile(status_tag, "INPROGRESS");
//Create …Run Code Online (Sandbox Code Playgroud)