After some changes I made to my app that I made so it would show the activities in a different order, the app icon no longer appears in the "All Apps" screen on the android device. It does, however, show up on the "Recent" screen. I think it has something to do with a configuration error in my manifest file. I would like the ServerChoiceActivity to be the one represented by the icon, and it's what launches when launch it from the recent screen, but the fact that there is no icon on the "All apps" or "Downloaded" pages confuses me quite a bit.
The application section of my manifest file:
<application
android:icon="#drawable/ic_launcher"
android:label="#string/app_name" android:debuggable="true">
<activity android:name=".ServerChoiceActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
<data android:mimeType="image/*"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity android:name=".ServerSettingsActivity" android:screenOrientation="portrait" android:label="#string/settings_title">
<intent-filter>
</intent-filter>
</activity>
<activity
android:name=".ImageShareActivity"
android:label="#string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<data android:mimeType="image/*"/>
</intent-filter>
</activity>
<activity
android:screenOrientation="portrait"
android:name=".MultiImageUploadActivity"
android:taskAffinity="test.affinity"
android:label="#string/multiupload_title">
<intent-filter>
</intent-filter>
</activity>
<activity
android:screenOrientation="portrait"
android:taskAffinity="test.affinity"
android:noHistory="true"
android:label="Bucket"
android:name=".BucketActivity">
<intent-filter>
</intent-filter>
</activity>
</application>
Any suggestions? The app works as expected when I launch it, and it was working fine, including showing the icon before I modified the manifest file.
Possibly because you have this in your ServerChoiceActivity intent-filter:
<data android:mimeType="image/*"/>
Related
I have tried a many different links on here to figure out why my app will not show on the list of app when I download it, but I have had no luck. I have tried many different things. Is there something I am missing with getting Intent Filters set up in android studio?
<application
android:name=".GdpApp"
android:allowBackup="true"
android:icon="#mipmap/ic_launcher"
android:label="#string/app_name"
android:roundIcon="#mipmap/ic_launcher"
android:supportsRtl="true"
android:theme="#style/AppThemeNoActionBarOrangeMain">
<activity
android:name=".MainActivity"
android:launchMode="singleTop"
android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.VIEW" />
</intent-filter>
</activity>
<activity
android:name=".SplashActivity"
android:screenOrientation="landscape"
android:theme="#style/AppThemeNoActionBarSplash">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
'''
Not 100% sure but it does seem strange that you have 2
"android.intent.action.MAIN"
I am very new to writing android app, I am trying to start specific activity from an other app (App B)through my app (App A). I know how to launch the App B but I need App B do some specific task with a click of button without showing the launching process I just want to jump to that task(like playing music with out showing the introduction and starting part of App B).
This is part of App A , the place I want to do specific task from App B instead of just launching it. ( even maybe I don't need to launch it )
public void playOn(View view) {
ImageButton sound = (ImageButton) findViewById(R.id.musicButton);
if (lightt) {
sound.setImageResource(R.drawable.play_dn);
lightt = false;
} else {
sound.setImageResource(R.drawable.play_up);
lightt = true;
}
Intent intent = getPackageManager().getLaunchIntentForPackage("com.Zample.RUNiBplayMusic");
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
and this is part of App B that I have access to
<application android:icon="#drawable/ic_launcher" android:label="Bplay Music" android:name="com.Zample.RUNiBplayMusic.Common.App" android:theme="#style/AppTheme">
<activity android:launchMode="singleTask" android:name=".StartActivity" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:host="com.bplaymusicwifi" android:scheme="bplaymu"/>
</intent-filter>
</activity>
<activity android:finishOnTaskLaunch="true" android:name=".HelpListActivity" android:screenOrientation="portrait"/>
<activity android:launchMode="singleTask" android:name=".DeviceListActivity" android:screenOrientation="portrait"/>
<activity android:finishOnTaskLaunch="true" android:name=".PlayModeActivity" android:screenOrientation="portrait"/>
<activity android:finishOnTaskLaunch="true" android:name=".HelpListActivity" android:screenOrientation="portrait"/>
<receiver android:label="Bplay Music" android:name=".AppWidget.AppWidgetSmall">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
</intent-filter>
<receiver android:label="Bplay Music" android:name=".AppWidget.AppWidgetBig">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
</intent-filter>
<meta-data android:name="android.appwidget.provider" android:resource="#xml/widget_info_big"/>
</receiver>
<service android:name=".AppWidget.Bplay MusicService"/>
<service android:name=".Record.RecordService"/>
</application>
I think this part of the code from App B might help me. but I am not sure.
I hope you can help me how to solve this issue.
So I have very weird problem with android app that I developed that I really do not understand how to address.
Description of the problem: When I run the app in my emulator(and many other emulators) the app works perfectly, but when I list it on Google Play and some user download the app, it automatically crashes. so I just wonder if my androidmainfest is properly written.
*the program written in esclipse, java, android.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.app"
android:versionCode="6"
android:versionName="1.5" >
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="21" />
<application
android:allowBackup="true"
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:theme="#style/AppTheme" >
<meta-data android:name="com.google.android.gms.version"
android:value="#integer/google_play_services_version" />
<activity
android:name="com.example.MainActivity"
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="com.example.SurfaceExampleView"
android:label="#string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="com.example.start" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.example.RulesGame"
android:label="#string/app_name" >
<intent-filter>
<action android:name="com.example.rules" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.example.PolicyGame"
android:label="#string/app_name" >
<intent-filter>
<action android:name="com.example.policy" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.example.RevenueGame"
android:label="#string/app_name" >
<intent-filter>
<action android:name="com.example.revenue" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.example.ShopGame"
android:label="#string/app_name" >
<intent-filter>
<action android:name="com.example.shop" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:theme="#android:style/Theme.Translucent"/>
</application>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
</manifest>
You have posted only your manifest and not the logs. My guesses based on that is the problem may be within your package declaration, rest everything seems fine.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.app".....
The package should be unique and its like what we call package in java world. You have declared it as com.app whereas your app is using com.example.... package. Also com.app maybe used by other app.The package name defines your application's identity.
Once you publish your application, you cannot change the package name. As the package name defines your application's identity, so if you change it, then it is considered to be a different application and users of the previous version cannot update to the new version. So you may have to upload another app with different package name.
Try getting logs(use crashlytics) for your crash and we can look into it for the root cause.
My application installs, atleast according to Eclipse, as it should. Then it stops with the following in the console:
[2011-10-17 14:10:58 - AppName] Uploading AppName.apk onto device 'emulator-5554'
[2011-10-17 14:11:07 - AppName] Installing AppName.apk...
[2011-10-17 14:11:23 - AppName] Success!
[2011-10-17 14:11:24 - AppName] \AppName\bin\AppName.apk installed on device
[2011-10-17 14:11:24 - AppName] Done!
When i click the launcher icon i get a toast saying:
"Application is not installed on your phone"
This is my manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.qualifiedpath.appname"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="#drawable/icon" android:label="#string/app_name">
<activity
android:name="com.qualifiedpath.appname.AppTitleScreenActivity"
android:label="label"
android:screenOrientation="portrait"
android:noHistory="false"
android:launchMode="standard">
</activity>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<activity
android:name=".GameScreenActivity"
android:screenOrientation="portrait">
</activity>
<activity
android:name=".KeypadActivity"
android:screenOrientation="portrait"
android:excludeFromRecents="true">
</activity>
</application>
</manifest>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
you have put the above code out of activity tag.Put it inside activity tag.
change this
<activity android:name="com.qualifiedpath.appname.AppTitleScreenActivity"
android:label="label"
android:screenOrientation="portrait"
android:noHistory="false"
android:launchMode="standard">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
you need to place intent filter inside the activity tag
use this code
<activity
android:name="com.qualifiedpath.appname.AppTitleScreenActivity"
android:label="label"
android:screenOrientation="portrait"
android:noHistory="false"
android:launchMode="standard">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Hi I have created a splash screen but I am not sure how to get it to start. I have tried putting it in the top folder but I can't get it to start, I realise this is because it is the last item I created on my app.
How do I get it to the top of the build path.
Have you placed your Splashscreen in your manifest.
Should place your Splashscreen as the first activity and then the main activity.
For eg:
//First Activity as Splashscreen
activity android:name=".SplashScreen"
android:screenOrientation="portrait"
android:label="#string/app_name"
android:theme="#android:style/Theme.NoTitleBar.Fullscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
//Splashscreen activity ends here
Your main activity followed by remaining activities.
<activity android:name=".Aptv"
android:label="#string/app_name"
android:theme="#android:style/Theme.NoTitleBar.Fullscreen"
android:screenOrientation="portrait">
<intent-filter>
action android:name="com.ayansys.aptv.Aptv" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>