如何在android中将一个包中的活动调用到另一个包中

时间:2012-12-15 05:35:19

标签: android

public void onClick(View v) {
    // TODO Auto-generated method stub
    switch (v.getId()) {
    case R.id.button1:
        Intent i=new Intent(this,com.sms.sms.SmsSync.class);// error at this line
        break;

    default:
        break;
    }   
}

4 个答案:

答案 0 :(得分:2)

this可能指代OnClickListener,引用您的类名,让假设 SmsSync位于同一个包中:

Intent i = new Intent(MainActivity.this, SmsSync.class);

答案 1 :(得分:0)

使用意图。

Intent intent = new Intent(this, SmsSync.class);
startActivity(intent);

Intent intent = new Intent(YourActivityname.this, SmsSync.class);
startActivity(intent);

以下链接将帮助您开始:

Android Intent

答案 2 :(得分:0)

如果您的活动在不同的套餐中,那么您必须在AndroidMenifest.xml

中注明您对套餐名称的启用 像这样

 <activity
            android:name="com.sms.sms.SmsSync"/>

之后你可以开始活动作为正常活动。

  Intent intent = new Intent(your_context, SmsSync.class);

答案 3 :(得分:0)

如果要从另一个包中或应用程序中调用另一个活动,则需要使用以下内容。

startActivity(new Intent(“com.sms.sms.SmsSync.class”)); //完全限定的类名。

在清单文件中,您需要按如下方式注册此活动。

<activity android:name=".SmsSync"
android:label=”SmsSyncActivity”>

<intent-filter>
<action android:name="net.learn2develop.SmsSync" />
<category android:name=”android.intent.category.DEFAULT” />
</intent-filter>
</activity>

您可能需要在intent过滤器中提及此“android.intent.category.DEFAULT”,以便可以使用startActivity()通过其他活动启动此活动 方法。希望这会有所帮助。