新建一个Activity类:
package com.sun.hello;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
public class SecondActivity extends Activity {
private Button button;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.secondmain);
}
}
新建:layout/secondmain.xml布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="second" />
<Button
android:id="@+id/secondbut1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="SecondText"
/>
</LinearLayout>
package com.sun.hello;
import android.app.Activity;
import android.content.Intent;
import android.location.GpsStatus.Listener;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class HelloActivity extends Activity {
private Button button = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button) findViewById(R.id.but1);
button.setOnClickListener(listener);
}
private OnClickListener listener = new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(HelloActivity.this, SecondActivity.class);//指定跳转的Activity类
startActivity(intent);
}
};
}
//最后需要在AndroidManifest.xml文件中配置
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sun.hello"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".HelloActivity"
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=".SecondActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SEND_SMS"/>
</manifest>
分享到:
相关推荐
通过以上步骤,我们成功地在AppWidget中实现了点击按钮启动新Activity的功能。这扩展了AppWidget的功能,使得用户可以直接在主屏幕上与应用进行更深度的交互。在实际项目中,可以根据需求调整PendingIntent的配置,...
1. **启动新Activity**:当调用`startActivityForResult()`时,系统会启动指定的Activity,并记录请求码。 2. **新Activity操作**:新启动的Activity(如`SecondActivity`)执行用户交互或业务逻辑。 3. **返回结果*...
其中,`intent`是用于启动新Activity的Intent,`create(context)`指定了上下文,`addNextIntentWithParentStack()`方法将新Activity添加到栈中。 2. **关联父Activity** 如果需要从新Activity回退到主Activity,...
在这里,`currentActivity`是当前启动新Activity的Activity,`TargetActivity`是我们要启动的带有返回值的Activity,`REQUEST_CODE`是一个自定义的int值,用于在onActivityResult()中区分不同的启动请求。...
启动Activity时,需要注意生命周期的变化,比如在启动新Activity之前,当前Activity的状态应该得到妥善保存,以防意外退出或系统回收。 8. **Intent Resolution**: Android系统会根据Intent的元数据进行匹配,...
结合Intent和Dialog,我们可以在启动新Activity前显示一个ProgressDialog,等待新Activity加载完成后再关闭。这样可以提升用户体验,让用户知道应用正在处理请求。 总结起来,Intent是Android中实现Activity间通信...
5. **启动新Activity**: 使用`startActivity(Intent intent)`方法启动新Activity。这会将控制权转移给新Activity,并在屏幕上显示。 ```java startActivity(intent); ``` 6. **处理返回结果**: 如果新启动的...
6. **OverridePendingTransition()**: 在启动新Activity后,我们可以调用startActivity()的重载版本,传入两个动画资源ID,分别表示进入和退出的动画效果。 7. **布局设计**: 图标通常位于布局文件中,可能是一个...
这些标志可以在启动新Activity时改变栈的行为,例如清除栈顶的Activity或者只替换栈顶的Activity。 总之,这个示例展示了在Android应用中如何启动和关闭Activity,以及在Activity间传递数据。理解Activity的生命...
3. **更新启动Activity**:在适当的时候,比如在应用启动时或者用户执行特定操作后,我们需要更新`Intent`,使其指向新的启动Activity。这可以通过构建一个新的Intent对象并设置其组件(Component)为新的启动...
`requestCode`用来匹配启动新Activity时的请求码,`resultCode`是`AnotherActivity`设置的结果代码,`data`是携带回来的Intent,可以从其中提取数据。 **四、源码分析** 在Android源码中,`startActivityForResult...
应用界面中会有两个按钮,一个用于拨打电话,一个用于启动新的Activity。当用户点击按钮时,相应的Intent会被创建并启动对应的操作。 ### 注意事项 - 显式关闭Activity应谨慎使用,因为可能影响用户的导航体验。 -...
可能包括创建源Activity,设置Intent,添加数据,然后调用`startActivity(Intent)`方法启动新Activity。在目标Activity中,你会看到如何获取并处理传递过来的数据。 总结一下,启动另一个Activity并利用Intent传输...
通常,Activity的实例是在用户触发特定操作(如点击按钮)或系统需要启动新Activity时创建的。这可以通过Intent对象来实现。Intent是用来表示应用间或应用内部组件间的通信意图。例如,启动一个新的Activity可以这样...
4. 在主Activity或其他相关Activity中启动新Activity,通过Intent对象传递数据,调用startActivity()方法。 获取和修改节点属性通常是指在运行时动态获取或更改Activity的配置或状态。这可以通过以下方式实现: - ...
Android系统采用任务栈(Task)来管理Activity,每次启动新Activity都会压入栈底,返回时则会弹出栈顶的Activity。理解栈的运作机制有助于避免栈溢出和循环引用等问题。 10. **IntentFilter** 隐式Intent需要匹配...
2. **设置Flags**: 如果需要在Service中启动Activity时,确保用户可以看到这个新启动的界面,可以设置Intent的FLAG_ACTIVITY_NEW_TASK标志: ```java intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); ``` 3. **...
- 使用`Context.startActivity(Intent)`方法启动新Activity,Intent中包含要启动的目标Activity信息和可能的数据。 5. **Activity栈管理**: Android使用任务(Task)和回退栈(Back Stack)管理Activity。新启动的...
通过Intent的putExtra()和getExtra()方法,我们可以在启动新Activity时携带数据,或者在不同Activity之间共享数据。这使得Intent成为了Android中数据传递的重要工具。 此外,Intent还可以用于服务(Service)启动,...
当用户启动新Activity时,新Activity被压入栈顶;当用户退出Activity(通常通过点击后退按钮)时,栈顶的Activity被弹出。 3. **启动模式(Launch Mode)**:Activity的启动模式可以设置为标准模式、单实例模式、单...