I am getting following exception
android.content.ActivityNotFoundException: Unable to find explicit activity class {com.as.as/com.as.as.LoginActivity$myTask}; have you declared this activity in your AndroidManifest.xml?
No clue as to whats wrong in this
<application
android:name=".ObjectClass.AppController"
android:allowBackup="true"
android:icon="#drawable/app_logo"
android:label="#string/app_name"
android:supportsRtl="true"
android:theme="#style/AppTheme">
<activity
android:name=".LoginActivity"
android:label="#string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".PersonalDetails"
android:label="#string/title_activity_personal_details"
android:theme="#style/AppTheme.NoActionBar" />
<activity android:name=".SignUpRegistration.SignUp" />
<activity
android:name="com.intsig.ccrengine.ISCardScanActivity"
android:label="#string/app_name" />
First try to clean and build project again and then try.
If it's not working then append a full path to your LoginActivity.
For e.g. your package name is com.exmaple then you write in your manifest com.example.LoginActivity instead of just .LoginActivity.
Looks like you are creating the Intent in the wrong way.
From this line
Unable to find explicit activity class {com.as.as/com.as.as.LoginActivity$myTask};
You can tell that you are creating an intent which explicit target is the myTask class, when in reality you want to have the Activity class to be the target class.
Your creating activity code is wrong.
new Intent(getBaseContext(), myTask.class);
This code trying to open activity from myTask class. Guess you are waiting for following code:
new Intent(getBaseContext(), AnotherActivity.class);
I'm new to Android Application development. I just added another activity tag in my AndroidManifest.xml file but its gives me the following message : Can't resolve symbol 'SecondActivity' Validates resource references inside Android XML files.
I want to know why is this message getting displayed?
Here is my AndroidManifest.xml file :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.aupadhyay.myfirstapp">
<application
android:allowBackup="true"
android:icon="#mipmap/amiticon"
android:label="#string/app_name"
android:supportsRtl="true"
android:theme="#style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SecondActivity">
<intent-filter>
<action android:name="anything" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
And this is my SecondActivity.java file :
import android.support.v7.app.AppCompatActivity;
public class SecondActivity extends AppCompatActivity {
}
Picture :
Consider the following:
Remove the intent-filter inside your second activity unless you really need that.
In your second activity, override onCreate method
#override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.second_activity_layout);
}
Did you create a layout for your second activity? It seems your activity is empty - although this might not be the cause of your problem. Also what is the location of your SecondActivity, a different package or in the same place as the first activity?
As shown in your code, your second activity doesn't seem to have any of that layout stuff!
I hope this helps you!
It seems your SecondActivity doesn't belongs to the package "com.aupadhyay.myfirstapp", So move it to src of the "com.aupadhyay.myfirstapp" package where ever it currently belongs to.
I'm having an issue trying to go to a specific class within my android application using the Intent.
This is my code setup:
Intent Secondscreenintent = new Intent(this, Secondscreen.class);
The error that it gives me is
android.content.ActivityNotFoundException: Unable to find explicit activity class {/project10.aventus.quiz.Secondscreen}; have you declared this activity in your AndroidManifest.xml?
After looking at my manifest I could not see any mistakes that would indicate this message.
<activity
android:name=".Main"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="Quiz">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".Secondscreen"
android:label="Secondscreen" />
<activity
android:name=".Quizclass"
android:label="Quizclass"/>
These are within the tag within the tag.
But somehow I'm still getting the class not found error. I have even tried to refer the intent to the Main.class and this has given the same error that it cannot find the Main class.
Does anyone have an idea on how to fix this?
Thanks,
Shams.
In you AndroidManifest.xml you will find some thing like this:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="project10.aventus.quiz"
android:versionCode="1"
android:versionName="your_version_code">
...
</manifest>
package defines the root of your implementation. So you don't have to write the full path name if you define Activities, BroadCastReceiver etc...
So you do it in this way:
<activity
android:name=".Secondscreen"
android:label="Secondscreen" />
This entry means - you will find my Secondscreen.java in my root folder aka package. In your case it would be project10.aventus.quiz.
So i quess your Secondscreen.java is not there. I'm creating allways a new subpackage ui in my root folder, so my activity entry looks like this:
<activity
android:name=".ui.Secondscreen"
android:label="#string/second_screen"
android:screenOrientation="portrait" >
</activity>
Now, this entry means - you will find my Secondscreen.java here: project10.aventus.quiz.ui.Secondscreen.java
I have an android project with several packages. The structure of the packages in this case is com.WAPP.SetLocation is the package that contains the activity I want to run.
In my manifest, com.WAPP is considered the base package:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.WAPP"
android:versionCode="1"
android:versionName="1.0">
My activities are declared in my manifest as:
<activity android:name=".mainScreenActivity"></activity>
<activity android:name=".SetLocation.setLocationActivity"></activity>
The mainScreen activity displays fine, since it is inside the com.WAPP package. But when I try to run the setLocationActivity, I get the unable to find explicit class error. Here is how I have the intent parameters:
Intent i = new Intent();
i.setClassName("com.WAPP.SetLocation",
"com.WAPP.SetLocation.setLocationActivity");
startActivity(i);
The first parameter is application package not the package where the activity is.
You can invoke the Activity like this.
Intent i = new Intent();
i.setClassName("com.WAPP",
"com.WAPP.SetLocation.setLocationActivity");
startActivity(i);
It is preferred as SYLARRR suggested to have Android automatically figure that out for you. Hence the call as..
startActivity(new Intent(this, setLocationActivity.class));
It's recommended per java standards to have the package name all lower-cased and the class name as CamelCased.
If the new activity not in the same packet with MainActivity(you call from here?), try declare on manifest
<activity android:name="com.WAPP.SetLocation.setLocationActivity"></activity>
and in the caller
Intent intent = new Intent(this, setLocationActivity.class);
startActivity(intent);
Hope this helps!
In additional to the above answers make sure that your activities are declared inside application in manifest
<application
android:allowBackup="true"
android:label="#string/app_name"
android:supportsRtl="true">
<activity android:name=".mainScreenActivity"></activity>
<activity android:name=".SetLocation.setLocationActivity"></activity>
</application>
If i'm not mistaken, the i.setClassName("com.WAPP.SetLocation","com.WAPP.SetLocation.setLocationActivity"); should be i.setClassName(getBaseContext(),"setLocationActivity"); Reference
Also try this syntax:
startActivity(new Intent(MyActivity.this, setLocationActivity.class));
and try removing the starting dot from:
<activity android:name=".SetLocation.setLocationActivity"></activity>
Do it by this way:
Intent intent = new Intent();
intent.setComponent(
new ComponentName("com.WAPP", "com.WAPP.SetLocation.setLocationActivity"));
startActivity(i);
you should class ad to manifest.xml
for example of manifest.xml
in this example, i added SecondActivity.class
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapplication">
<application
android:allowBackup="true"
android:icon="#mipmap/ic_launcher"
android:label="#string/app_name"
android:roundIcon="#mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="#style/Theme.MyApplication">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".SecondActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
In Xamarin Android, make sure that your Activity class has an Activity attribute
[Activity(Theme = "#style/MyTheme")]
public class MyActivity : ActivityBase
{
...
}
With that you are making sure that your activity is registered in AndroidManifest.xml
I had the same kind of issue in the project . It wasted me almost a full day . i tried all the solutions that are mentioned above , but none of the solutions worked for me .
After all the hard work i just "Rebuild" the project and "clean" The project and it worked perfectly .
Note:
Before going through all the process u just needed to have a try to these options.
First of all, make sure that you have created activity and not the class. And, if it is activity then go to the manifest.xml file and look at the path of that particular file.
This worked for me absolutely well!!
https://forums.xamarin.com/discussion/104102/android-content-activitynotfoundexception-unable-to-find-explicit-activity-class
this is for reference
in your manifest you declared it as
.SetLoction.setLocationActivity
but
the package name is com.WAPP.SetLocation
so you need to prefix that again.
Intent i = new Intent();
i.setClassName("com.WAPP.SetLocation",
"com.WAPP.SetLocation.SetLocation.setLocationActivity");
startActivity(i);
This might be due to not registering your next activity XML file in the manifest. Register your next activity XML file in the AndroidManifest.xml file
<activity android:name=".NextActivity" />
Hope it helps.
Thia might be problem if ImageView is used :(
Intent intent = new Intent(context,ImageView.class);
intent.putExtra("imageurl",clients_document_return.getUrl());
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
v.getContext().startActivity(intent);
and your class name might me Imageview.class
so first check all small capital in class name
Thanks :)
I want to call other apps activity from my app. So I am using the following code
Intent i = new Intent();
i.setComponent(new ComponentName("com.android.DailyDeals",
"com.android.DailyDeals.TodaysDeals_AM" ));
startActivity(i);
But I am getting following exception:
Caused by: java.lang.SecurityException: Permission Denied:
starting Intent { cmp=com.android.DailyDeals/.TodaysDeals_AM } from
ProcessRecord{44f9b8b0 399:com.prabhu.android/10041} (pid=399, uid=10041)
requires null.
How to resolve this?
i think this will help you
make code in your java file like this.
startActivity(new Intent("com.name of your class"));you have to write your package name .classname inside it.
& also declare this activity into your **mainfest** file
<activity android:name=".name of your class"
android:label="#string/app_name">
<intent-filter>
<action android:name="com.diffrentview.MYFILE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>