在运行时请求 android 6.0 中的权限时,应用程序名称不可见
Application Name not visible when asking for permission in android 6.0 during runtime
我已尝试创建 RECORD_AUDIO 运行时权限。
我在 AndroidManifest 中添加了:
<uses-permission android:name="android.permission.RECORD_AUDIO" />
和
在 activity 我添加了:
// Requesting Record Permission
private static final int REQUEST_RECORD=3;
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.RECORD_AUDIO)
!= PackageManager.PERMISSION_GRANTED) {
// Should we show an explanation?
if (ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.RECORD_AUDIO)) {
Toast.makeText(getApplicationContext(), "Allow in order to use microphone for recording.", Toast.LENGTH_LONG).show();
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.RECORD_AUDIO},
REQUEST_RECORD);
} else {
// No explanation needed, we can request the permission.
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.RECORD_AUDIO},
REQUEST_RECORD);
}
}
谁能指出问题所在?该权限运行良好,但对话框不显示应用程序的名称。为什么会这样?
styles.xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="My.Spinner.Style" parent="Base.Widget.AppCompat.Spinner.Underlined">
</style>
<style name="AppTheme.navtheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">#2196F3</item>
<item name="colorPrimaryDark">#2196F3</item>
<item name="colorAccent">#03A9F4</item>
</style>
<style name="AppTheme.popupTheme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowCloseOnTouchOutside">false</item>
</style>
colors.xml
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
<color name="foreground_material_light">#FFFFFF</color>
<color name="abc_primary_text_material_light">#FFFFFF</color>
<color name="abc_secondary_text_material_light">#FFFFFF</color>
您是否在代码中添加了这一行:
dialog.setTitle("Record Audio"); //Your Title
问题出在您的主题或您的应用程序名称中。
应用程序名称为空或您使用了错误的主题,因为该名称不可见。
您可以看到应用程序名称在那里,但它可能受 Theme
中的主题或文本颜色限制
问题出在我的 phone 主题上。一旦我将其更改为系统默认值,一切都很好。但不知何故,对于其他一些应用程序,权限工作得很好。
我已尝试创建 RECORD_AUDIO 运行时权限。 我在 AndroidManifest 中添加了:
<uses-permission android:name="android.permission.RECORD_AUDIO" />
和 在 activity 我添加了:
// Requesting Record Permission
private static final int REQUEST_RECORD=3;
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.RECORD_AUDIO)
!= PackageManager.PERMISSION_GRANTED) {
// Should we show an explanation?
if (ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.RECORD_AUDIO)) {
Toast.makeText(getApplicationContext(), "Allow in order to use microphone for recording.", Toast.LENGTH_LONG).show();
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.RECORD_AUDIO},
REQUEST_RECORD);
} else {
// No explanation needed, we can request the permission.
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.RECORD_AUDIO},
REQUEST_RECORD);
}
}
谁能指出问题所在?该权限运行良好,但对话框不显示应用程序的名称。为什么会这样?
styles.xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="My.Spinner.Style" parent="Base.Widget.AppCompat.Spinner.Underlined">
</style>
<style name="AppTheme.navtheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">#2196F3</item>
<item name="colorPrimaryDark">#2196F3</item>
<item name="colorAccent">#03A9F4</item>
</style>
<style name="AppTheme.popupTheme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowCloseOnTouchOutside">false</item>
</style>
colors.xml
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
<color name="foreground_material_light">#FFFFFF</color>
<color name="abc_primary_text_material_light">#FFFFFF</color>
<color name="abc_secondary_text_material_light">#FFFFFF</color>
您是否在代码中添加了这一行:
dialog.setTitle("Record Audio"); //Your Title
问题出在您的主题或您的应用程序名称中。
应用程序名称为空或您使用了错误的主题,因为该名称不可见。
您可以看到应用程序名称在那里,但它可能受 Theme
问题出在我的 phone 主题上。一旦我将其更改为系统默认值,一切都很好。但不知何故,对于其他一些应用程序,权限工作得很好。