SecurityException在启动新的空Activity的意图时

时间:2012-05-07 09:26:08

标签: android android-intent android-manifest android-activity

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

  

运行com.android.gl2jni / .TestActivity ... 1>开始:意图{   cmp = com.android.gl2jni / .TestActivity} 1> 1 GT;   java.lang.SecurityException:Permission Denial:启动Intent {   flg = 0x10000000 cmp = com.android.gl2jni / .TestActivity}来自null   (pid = 2935,uid = 2000)需要null

我不打算调用新的Activity,我已经开发了一个空的Activity来检查我无法启动应用程序的原因。

这是我的Manisfest:

<?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" );
    }

}

我想我必须修改别的东西,但我不知道是什么...... 在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

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

  <intent-filter>
  </intent-filter>

此外,在onCreate()的{​​{1}}中,您必须拨打TestActivity,否则Android会崩溃。