需要VIBRATE权限异常,尽管Permission在Manifest中

时间:2017-01-17 11:10:45

标签: java android android-manifest android-vibration

我正在使用Android 6.01 API 23为智能手表开发应用程序。 我想添加一些振动功能。 我在AndroidManifest.xml中定义了以下内容:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="myexample.warehousehelper.mobile">

<uses-permission android:name="android.permission.VIBRATE"/>

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

我收到以下异常

java.lang.RuntimeException: Unable to start activity ComponentInfo{myexample.warehousehelper/myexample.warehousehelper.wear.MainActivity}: 
java.lang.SecurityException: Requires VIBRATE permission

&#34;振动呼叫&#34;如下:

Vibrator v = (Vibrator) getSystemService(VIBRATOR_SERVICE);
v.vibrate(200);

任何暗示为什么会出现这种行为?

1 个答案:

答案 0 :(得分:1)

嗯,承认我发布了错误的Manifest是非常痛苦的。我已授予mobile版本的权限,但未授予wear版本的权限。也就是说,我使用了错误的Manifest.xml

现在它正常工作,除了权限之外什么都不做。

感谢您的帮助。