比如当前在我的软件里,单击了一个按钮,这个时间就是我的程序隐藏到后台,
之前的页面是什么就还是那个页面,
比如我当前是桌面,然后我运行我的程序,之后我切换到后台,页面还是显示桌面的这种如何实现?
之前的页面是什么就还是那个页面,
比如我当前是桌面,然后我运行我的程序,之后我切换到后台,页面还是显示桌面的这种如何实现?
解决方案 »
- android平板用linux?
- 关于2.2的C2DM,现在有人跑起chrome to phone程序吗?
- 初学者必看
- android怎么弄出一个,雷达的效果的界面啊?
- 又碰到解决不了的问题了。怎么样调用拍照?
- actionbar问题
- 小白求助关于activity_main和fragment_main的问题!!
- android objection push Notification where saves setting
- 关于DatagramPacket问题
- 如何在android app 退出时执行代码????
- [Kernel FileSystem] Porting Android UMS 问题求教
- ZXing源码包中,google官方给的例子到底是哪个。。。
比如你按下home键,程序就切换到后台了,
但是我现在要做的是 在我的程序里按下一个按钮后,程序切换到后台,至于前台就显示我程序进来前的那个页面,不一定是HOME!
比如我从联系人页面,进入了我的程序,然后我按了一个按钮后 我的程序切换到了后台,前台还是联系人页面!
这个如何做?
不知道你之前的那个activity 的!
而且这个是不应该,不需要知道的!
我只是把我的程序,Activity们 放到后台而已,前台是什么Activity 我不管,但必须是我之前进入程序的!就可以啦!
你的想法很好,可是不太可行啊,
你看 我做循环返回没问题,可以是返回如何做呢?finish()?
另外,顶层窗口不是我的程序了,我怎么才能判断这个事情呢?
返回你可以用finish,但是好像系统会回收你的资源,
我觉得你可以模拟一个返回按键
KeyEvent key = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK);
onKeyDown(key.getKeyCode(), key);判断顶层窗口是不是你的程序可以这样ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
String str = am.getRunningTasks(1).get(0).baseActivity.getClassName();
if( str.equalsIgnoreCase("zy.keytest.keytest"))
{
//执行返回事件
}
你试试看
至于被系统回收不回收 我自有方法保证不回收!另外 service我们程序是用来保障程序数据 联网的!也就是说 程序在后台运行没问题
只想 如何才能跳到后台?
至于被系统回收不回收 我自有方法保证不回收!另外 service我们程序是用来保障程序数据 联网的!也就是说 程序在后台运行没问题
只想 如何才能跳到后台?
------------------------
这里没有最小化的概念哦service也可以保障数据联网啊
service也可以发intent调用你的activity啊为什么要留着activity?注意,你要的不是界面,是事务处理,把事务处理拿出来放到service中处理就是了,没必要在activity中,
而且,你的这种用法本来就不是android推荐的。HeavenNash朋友说的还是很有道理的
看一下QQ,在按BACK的时候,就可以到后台运行!
我是要实现这个效果!
而且目前已经小成!
我们讨论了这么多,你也没仔细看。模拟HOME,只能到桌面, 如果我是从别的程序 进入我的程序呢? 还能BACK到 桌面啊?!
那样体验很差啊!
“All the activities in a task move together as a unit. The entire task (the entire activity stack) can be brought to the foreground or sent to the background.” 你的activities都在一个task里的话,那试试Activity.moveTaskToBack(true);
请问这种如何实现?
我就是想实现这样一种功能,比如我有个数组,在按返回键之前是显示第2个元素,这时我用Service监控系统的一个广播,收到广播后我想启动我原来的Activity,显示数组里面的第三个元素....也就是我想让我的Activity重新回到之前的状态....
想用Service呢就看看AppDemo里面Service的例子。
不想用,而且你的程序在任何地方都能启动,这个就NB了,
有两种可能,你是定制Firmware内置程序,使用手机按键硬启动。
另外一种就是利用Intent启动。利用Intent启动呢,你的程序退出之后,向之前调用你的程序返回Result。
关闭后系统会保留之前的页面。这个当然隐藏与否也无关紧要了。
我怀疑楼主对自己面临的问题迷迷糊糊。
当然也不排除楼主是大牛,做小菜所不能仰望的东西。
祝楼主早日成功,完成悖论和永动机的设计。
就做一个类似QQ 按BACK键时候,将QQ程序放入后台,前途显示 进入QQ前的页面!
如果你还不清楚的话,装一个QQ跑一下就 一目了然了!
按HOME键是隐藏到后台,但是有一个Service在运行,抛出一个Notification。
点击Notification的时候切换到程序。没什么难的啊,不知道你哪里实现不了。
我现在也急需解决 这个问题啊 还有packageinfo 怎么用啊
{
private Vector<String> vector = null;
public MyRequest(String nameSpace, String methodName, String interfaceUrl, Vector<String> vector)
{
super(nameSpace, methodName, interfaceUrl);
this.vector = vector;
}
public SoapSerializationEnvelope createRequest()
{
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
SoapObject request = createSaopObject();
Class<?> rsquestClass = null;
try
{
rsquestClass = Class.forName("com.MyRequestBean");
envelope.addMapping(nameSpace, "MyRequest", rsquestClass);
SoapObject object = new SoapObject(nameSpace, "MyRequest");
object.addProperty("account", vector.get(0));
request.addProperty("MyRequest", object);
}
catch (ClassNotFoundException e)
{
}
envelope.bodyOut = request;
envelope.headerOut = createHeader();
return envelope;
}
}
{
private String account; public String getAccount()
{
return account;
}
public void setAccount(String account)
{
this.account = account;
}
public Object getProperty(int arg0)
{
Object result = null;
switch (arg0)
{
case 0:
result = getAccount();
break;
default:
break;
}
return result;
}
public int getPropertyCount()
{
return 1;
}
public void getPropertyInfo(int arg0, Hashtable arg1, PropertyInfo info)
{
switch (arg0)
{
case 0:
info.name = "account";
info.type = PropertyInfo.STRING_CLASS;
break;
default:
break;
}
}
public void setProperty(int arg0, Object arg1)
{
switch (arg0)
{
case 0:
setAccount((String)arg1);
break;
default:
break;
}
}
}
你还是不明白 Service能帮助你后台运行,那么如何后台运行的?
就比如windows我们点击 最小化,程序后台了!
那么ANDRPID 我们怎么做呢?
我们 实现的是 一个返回桌面事件!但QQ不是,QQ是堆栈返回!
public static void backToDesk(Activity activity){
Intent MyIntent = new Intent(Intent.ACTION_MAIN);
if(Utility.getMobileModel().equalsIgnoreCase(SysConstants.PHONE_TYPE_LEPHONE_100)
|| Utility.getMobileModel().equalsIgnoreCase(SysConstants.PHONE_TYPE_LEPHONE_101))
{
MyIntent.addCategory("android.intent.category.DESK_DOCK");
}
else
{
MyIntent.addCategory(Intent.CATEGORY_HOME);
}
activity.startActivity(MyIntent);
// activity.getParent().moveTaskToBack(true);
}
非常非常感谢,哈哈,这个问题我弄了很久了,你对我这种刚入门的选手太有耐心了感动ing!
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode, event);
}
Utility是什么类?怎么没有提示导包,是自己写的类吗?
* get destroyed and then have to be re-created from scratch for the
* next call. Instead, we just move ourselves to the back of the
* activity stack.
*
* This also means that we'll no longer be reachable via the BACK
* button (since moveTaskToBack() puts us behind the Home app, but the
* home app doesn't allow the BACK key to move you any farther down in
* the history stack.)
*
* (Since the Phone app itself is never killed, this basically means
* that we'll keep a single InCallScreen instance around for the
* entire uptime of the device. This noticeably improves the UI
* responsiveness for incoming calls.)
*/
@Override
public void finish() {
if (DBG) log("finish()...");
moveTaskToBack(true);
}