onnewintent

onNewIntent() not getting called in some devices

雨燕双飞 提交于 2019-11-30 23:28:43
I am implementing Oauth (twitter, google) for an Android application and some users have complained because they cannot log in; after analysing the problem I saw that in some devices sometimes the onNewIntent() is not called and onCreate() method is called instead. So it seems that there is something wrong with activities' tasks, instances,.. Here is my code: AndroidManifest.xml <activity android:name="LoginActivity" android:launchMode="singleTask" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent

onNewIntent() not getting called in some devices

非 Y 不嫁゛ 提交于 2019-11-30 18:24:34
问题 I am implementing Oauth (twitter, google) for an Android application and some users have complained because they cannot log in; after analysing the problem I saw that in some devices sometimes the onNewIntent() is not called and onCreate() method is called instead. So it seems that there is something wrong with activities' tasks, instances,.. Here is my code: AndroidManifest.xml <activity android:name="LoginActivity" android:launchMode="singleTask" android:screenOrientation="portrait">

Android中Activity的启动模式(LaunchMode)和使用场景

北城余情 提交于 2019-11-29 15:56:59
一、为什么需要启动模式 在Android开发中,我们都知道,在默认的情况下,如果我们启动的是同一个Activity的话,系统会创建多个实例并把它们一一放入任务栈中。当我们点击返回(back)键,这些Activity实例又将从任务栈中一一移除,遵循的原则是“后进先出”(先进后出)。 这里我们考虑一个问题,当我们多次启动同一个Activity,系统也会创建多个实例放入任务栈中,这样岂不是很耗费内存资源?为了解决这一问题,Android为Actiivty提供了启动模式。 Activity的启动模式有四种:standard、singleTop、singleTask和singleInstance。 二、启动模式的分类 1、standard:标准模式 这种启动模式为标准模式,也是默认模式。每当我们启动一个Activity,系统就会相应的创建一个实例,不管这个实例是否已经存在。这种模式,一个栈中可以有多个实例,每个实例也都有自己的任务栈。而且是谁启动了此Activity,那么这个Activity就运行在启动它的Activity所在的栈中。 Manifest中配置: 对于标准模式,android:launchMode=”standard”可以不写,因为默认就是standard模式。 <activity android:name=".StandardActivity" android

android onNewIntent

China☆狼群 提交于 2019-11-29 14:46:46
pendingIntent字面意义:等待的,未决定的Intent。   pendingIntent对象,使用方法类的静态方法 :       getActivity(Context, int, Intent, int) -------> 跳转到一个activity组件、      getBroadcast(Context, int, Intent, int)------>打开一个广播组件     getService(Context, int, Intent, int) --------> 打开一个服务组件。   分别对应着Intent的3个行为和参数有4个,比较重要的事第三个和第一个,其次是第四个和第二个。可以看到,要得到这个对象,必须传入一个Intent作为参数,必须有context作为参数。   pendingIntent是一种特殊的Intent。主要的区别在于Intent的执行立刻的,而pendingIntent的执行不是立刻的。pendingIntent执行的操作实质上是参数传进来的Intent的操作,但是使用pendingIntent的目的在于它所包含的Intent的操作的执行是需要满足某些条件的。 主要的使用的地方和例子:通知Notificatio的发送,短消息SmsManager的发送和警报器AlarmManager的执行等等。 intent英文意思是意图

Android中Activity启动模式详解

老子叫甜甜 提交于 2019-11-28 14:03:04
Android中Activity启动模式详解   在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。   Android总Activity的启动模式分为四种: Activity启动模式设置: <activity android:name= " .MainActivity " android:launchMode= " standard " /> Activity的四种启动模式: 1 . standard 模式启动模式,每次激活Activity时都会创建Activity,并放入任务栈中。 2 . singleTop 如果在任务的栈顶正好存在该Activity的实例, 就重用该实例,否者就会创建新的实例并放入栈顶(即使栈中已经存在该Activity实例,只要不在栈顶,都会创建实例)。 3 . singleTask 如果在栈中已经有该Activity的实例,就重用该实例(会调用实例的onNewIntent())。重用时,会让该实例回到栈顶,因此在它上面的实例将会被移除栈。如果栈中不存在该实例,将会创建新的实例放入栈中。 4 . singleInstance 在一个新栈中创建该Activity实例,并让多个应用共享改栈中的该Activity实例

Android中Activity启动模式详解

风流意气都作罢 提交于 2019-11-28 14:02:50
 在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。   Android总Activity的启动模式分为四种: Activity启动模式设置: <activity android:name= " .MainActivity " android:launchMode= " standard " /> Activity的四种启动模式: 1 . standard 模式启动模式,每次激活Activity时都会创建Activity,并放入任务栈中。 2 . singleTop 如果在任务的栈顶正好存在该Activity的实例, 就重用该实例,否者就会创建新的实例并放入栈顶(即使栈中已经存在该Activity实例,只要不在栈顶,都会创建实例)。 3 . singleTask 如果在栈中已经有该Activity的实例,就重用该实例(会调用实例的onNewIntent())。重用时,会让该实例回到栈顶,因此在它上面的实例将会被移除栈。如果栈中不存在该实例,将会创建新的实例放入栈中。 4 . singleInstance 在一个新栈中创建该Activity实例,并让多个应用共享改栈中的该Activity实例。一旦改模式的Activity的实例存在于某个栈中

Android OnNewIntent not called

强颜欢笑 提交于 2019-11-27 03:19:03
问题 I saw several approaches and I tried everything but couldnt make it work.I dont know why it is so complicated, in the docs it looks so easy! I want to trigger the OnNewIntent with a notification (the user clicks on it in the notification bar). Currently I have set my Activity as singleTop <activity android:name="-.-.-.MainMenuActivity" android:launchMode="singleTop" android:screenOrientation="portrait" > </activity> This is the code where I create the Notification: public void