2016-05-19 11 views
0

他のアクティビティ "GoToDangerousActivity"の "DangerousActivity"を "Permissionlab"という別のアプリで起動するのに問題があります。バグの原因を指摘する助けが必要です!Androidのエラー: "android.content.ActivityNotFoundException:インテントを処理するアクティビティが見つかりません"

私は "DangerousActivityへ移動" ボタンをクリックすると、私はエラーを得た:

05-18 23:38:42.737: E/AndroidRuntime(7364): FATAL EXCEPTION: main 
05-18 23:38:42.737: E/AndroidRuntime(7364): Process: course.labs.permissionslab, PID: 7364 
05-18 23:38:42.737: E/AndroidRuntime(7364): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=course.labs.permissions.DANGEROUS_ACTIVITY } 

これは危険なアプリのマニフェストです:

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

    <uses-sdk 
     android:minSdkVersion="13" 
     android:targetSdkVersion="18" /> 
    <!-- 
      TODO - Using a permission element, 
      define a custom permission with name 
       "course.labs.permissions.DANGEROUS_ACTIVITY_PERM" 
      and "dangerous" protection level. 
    --> 
    <Permission 
     android:name="course.labs.permissions.DANGEROUS_ACTIVITY_PERM" 
     android:protectionLevel="dangerous" 
    /> 
    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" 
     android:permission="course.labs.permissions.DANGEROUS_ACTIVITY_PERM" 
     > 
     <!-- TODO - enforce the custom permission on this Activity 
     **i added below to test**--> 
     <activity 
      android:name=".DangerousActivity" 
      android:label="@string/app_name" 
      android:permission="course.labs.permissions.DANGEROUS_ACTIVITY_PERM" 
      > 
      <!-- 
       TODO - add additional intent filter info so that this Activity 
        will respond to an Implicit Intent with the action 
        "course.labs.permissions.DANGEROUS_ACTIVITY"    
      --> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
      <intent-filter> 
       <action android:name="course.labs.permissions.DANGEROUS_ACTIVITY"/> 
       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

これはPermissionlabのマニフェストです:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="course.labs.permissionslab" 
    android:versionCode="1" 
    android:versionName="1.0" > 
    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="18" /> 

    <!-- TODO - add uses-permission elements --> 
    <uses-permission android:name="course.labs.permissions.DANGEROUS_ACTIVITY_PERM" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".ActivityLoaderActivity" 
      android:label="@string/title_main" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".BookmarksActivity" 
      android:label="@string/title_permissions" > 
     </activity> 
     <activity 
      android:name=".GoToDangerousActivity" 
      android:label="@string/title_activity_customization" > 
     </activity> 
    </application> 

</manifest> 

GoToDangerousActivityのマイコード:

public class GoToDangerousActivity extends Activity { 

private static final String TAG = "Lab-Permissions"; 

private static final String DANGEROUS_ACTIVITY_ACTION = "course.labs.permissions.DANGEROUS_ACTIVITY"; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.go_to_dangerous_activity); 

    Button startDangerousActivityButton = (Button) findViewById(R.id.start_dangerous_activity_button); 
    startDangerousActivityButton.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      startDangerousActivity(); 
     } 
    }); 
} 
private void startDangerousActivity() { 

    Log.i(TAG, "Entered startDangerousActivity()"); 

    startActivity(new Intent(DANGEROUS_ACTIVITY_ACTION)); // anonimous intent 

} 

}

+0

なぜ、それが既にランチャー活動であれば、追加の 'intent-filter'を追加していますか?あなたは 'getLaunchIntentForPackage(package_name)'でそのアプリを直接起動することができます –

+0

あなたの危険なアプリはインストールされていますか? – Exception

答えて

0

私は同じ問題を抱えていました。仮想デバイスの再起動は私を助けました。私はそれがアンドロイドの再起動後であると思います。

関連する問題