0

我只使用一个活动开发了一个小项目,现在,我正在尝试添加一个新活动,但是,当我尝试在我的设备上启动该项目时收到此错误:

正在运行 com.android.gl2jni/.TestActivity... 1> 开始:Intent { cmp=com.android.gl2jni/.TestActivity } 1> 1> java.lang.SecurityException:权限被拒绝:开始 Intent { flg=0x10000000 cmp= com.android.gl2jni/.TestActivity } from null (pid=2935, uid=2000) 需要 null

我没有尝试调用新的 Activity,我开发了一个空的 Activity 来检查为什么我无法启动该应用程序。

这是我的清单:

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


  <uses-feature android:glEsVersion="0x00020000"/>

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

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

  <uses-permission android:name="android.permission.CAMERA"/>
  <uses-feature android:name="android.hardware.camera" />
  <uses-feature android:name="android.hardware.camera.autofocus" />

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

  <application
          android:label="@string/gl2jni_activity">

    <!--main activity-->

    <activity android:name=".GL2JNIActivity"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
        android:launchMode="singleTask"
        android:configChanges="keyboardHidden"
        android:screenOrientation="landscape"
            >
      <intent-filter>
          <action android:name="android.intent.action.MAIN" />
          <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>

    <!--BT device list activity-->

    <activity android:name=".TestActivity"
              >
      <intent-filter>
      </intent-filter>
    </activity>


    <!--
      <activity android:name=".BluetoothDeviceListActivity"
                  android:label="@string/select_device"
                  android:theme="@android:style/Theme.Dialog"
                  android:configChanges="keyboardHidden" 
                          android:screenOrientation="landscape"
                  />
    -->

  </application>

</manifest>

这是空的活动类:

package com.android.gl2jni;

import android.app.Activity;
import android.util.Log;
import android.os.Bundle;

public class TestActivity extends Activity {

    @Override protected void onCreate(Bundle icicle) {
        LogConsole.print( "HI, I AM TestActivity" );
    }

}

我想我必须修改其他内容,但我不知道是什么......提前感谢您的帮助。

4

1 回答 1

1

您为 TestActivity 指定了一个空的意图过滤器。一个空的意图过滤器不匹配任何意图。从 TestActivity 的块中删除这些行:

  <intent-filter>
  </intent-filter>

另外,onCreate()TestActivity必须调用super.onCreate(),否则Android会崩溃。

于 2012-05-09T16:24:29.073 回答