我是否正确地将它包含在Manifest.xml中?

时间:2012-01-14 05:03:49

标签: java android manifest

我试图让用户按下按钮以使其振动。所以我在清单中宣布它,我为它做了一个新的活动。下面是一些代码我错放了权限?

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="android.app"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="7" />

    <application

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name" >
        <activity

            android:name=".AndroidActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait">

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
         <activity android:name=".activity2"
                   android:screenOrientation="portrait"
                   android:label="@string/app_name"  >


         </activity>

         <activity android:name=".activity3"
                   android:screenOrientation="portrait"
                   android:label="@string/app_name" >

         </activity>

         <activity android:name=".next" >

         </activity>

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




    </application>




</manifest>

并且继承了按钮的活动:

package android.app;
import android.app.R;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;


public class AndroidVibrator extends Activity {
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);

         setContentView(R.layout.main3);

         final Button button = (Button) findViewById(R.id.sound);
         button.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
                 // Perform action on click
             }
         });
     }
 }

2 个答案:

答案 0 :(得分:0)

尝试以下方法 - :

?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="android.app"
    android:versionCode="1"
    android:versionName="1.0" >

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

    <application>
     .
     .
     .
    </application

答案 1 :(得分:0)

首先,如果您正在开发Eclipse使用,ctrl + A然后ctrl + I这应该正确地为您管理缩进。回到你的问题,我希望你用你真正喜欢的“AndroidVibrator”替换activity1和activity2等的名字。最后,在放置权限的位置应该没有区别,尽管在uses-sdk和application之间将它们放在顶部是一种更好的做法。

此外,我发现您正在使用android:screenOrientation="portrait",如果您希望自己的活动不对屏幕方向更改做出反应,请同时添加:android:configChanges="orientation|keyboardHidden|keyboard"

并将其添加到您的活动类:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
}