0%

Intent Open Activity2

Intent打开Activity的其他显示调用

一. 通过全类名

1
2
3
Intent inten1 = new Intent();
inten1.setClassName(this, "com.example.lx.activity");
startActivity(inten1);

二.通过包名和全类名

1
2
3
Intent inten2 = new Intent();
inten2.setClassName("com.example.test", "com.example.test.st");//支持调用其他的应用程序
startActivity(inten2);

注意我的注释,可以打开其他的应用程序,意思就是远程打开另外APP的Activity,但在这我们需要注意,包名是包名,全类名要填写打开的Activity的全类名,但是有一点要注意,如果我们打开的是主界面那倒是无所谓,但是如果我们打开的不是主界面,那么我们就需要注意了,我们需要在配置我们的Activity属性的时候加上这么一句话:

1
<activity android:name=".st" android:exported="true"/>

可以看到有一个exported的属性,这个就是是否允许远程调用,默认是false。
三.通过Component

1
2
3
4
Intent inten1 = new Intent();
inten1.setClassName(this, "com.example.lx.activity");
inten1.setComponent(new ComponentName(this,activity.class));
startActivity(inten1);

new一个就可以了

安卓Listener

一点小补充,我们如果偏要设置监听时候要用this,习惯win32的话呢我们需要将我们的类接上类似于:OnClickListener这个样子的一个借口,然后完成:public void onClick(View v)这个函数,v.getId()可以获得事件源,在R文件中的定义对比,建议还是用switch进行判断。