在Android中调用其他应用的Activity 在Android开发中,有时需要从一个应用调用另一个应用的Activity。这可以通过使用Intent来实现。以下是一个具体的示例。
首先,我们需要在主应用中创建一个Activity,并使用Intent来启动目标应用的Activity。
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.e("nafio", "start load1"); ComponentName compOnentName= new ComponentName( // 目标应用的包名 "com.example.t2", // 目标Activity的类名 "com.a.cc.TActivity"); try { Intent intent = new Intent(); intent.setComponent(componentName); startActivity(intent); } catch (Exception e) { Toast.makeText(getApplicationContext(), "未找到目标应用,请检查是否已安装", Toast.LENGTH_SHORT).show(); Log.e("nafio", e.getMessage()); } Log.e("nafio", "end load"); } }
接下来,我们需要在主应用的AndroidManifest.xml文件中声明主Activity。
在目标应用中,我们需要确保目标Activity是可以被外部应用访问的。为此,需要在目标应用的AndroidManifest.xml文件中设置android:exported="true"
。
目标应用的主Activity代码如下:
package com.example.t2; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.e("nafio", "T2---------------"); } }
目标应用的目标Activity代码如下:
package com.a.cc; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class TActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.e("nafio", "TActivity!!!!!---------------"); } }
最后,需要在目标应用的AndroidManifest.xml文件中声明目标Activity,并设置android:exported="true"
。
通过以上步骤,您可以在一个Android应用中成功调用另一个应用的Activity。
posted @ 2016-03-22 11:51 00000000O 阅读(...) 评论(...) 编辑 收藏
在Android开发中,有时需要从一个应用调用另一个应用的Activity。这可以通过使用Intent来实现。以下是一个具体的示例。
首先,我们需要在主应用中创建一个Activity,并使用Intent来启动目标应用的Activity。
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.e("nafio", "start load1"); ComponentName compOnentName= new ComponentName( // 目标应用的包名 "com.example.t2", // 目标Activity的类名 "com.a.cc.TActivity"); try { Intent intent = new Intent(); intent.setComponent(componentName); startActivity(intent); } catch (Exception e) { Toast.makeText(getApplicationContext(), "未找到目标应用,请检查是否已安装", Toast.LENGTH_SHORT).show(); Log.e("nafio", e.getMessage()); } Log.e("nafio", "end load"); } }
接下来,我们需要在主应用的AndroidManifest.xml文件中声明主Activity。
在目标应用中,我们需要确保目标Activity是可以被外部应用访问的。为此,需要在目标应用的AndroidManifest.xml文件中设置android:exported="true"
。
目标应用的主Activity代码如下:
package com.example.t2; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.e("nafio", "T2---------------"); } }
目标应用的目标Activity代码如下:
package com.a.cc; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class TActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.e("nafio", "TActivity!!!!!---------------"); } }
最后,需要在目标应用的AndroidManifest.xml文件中声明目标Activity,并设置android:exported="true"
。
通过以上步骤,您可以在一个Android应用中成功调用另一个应用的Activity。