1

嗨,当 USB 断开连接时,我希望在我的应用程序中终止一个活动我有一个广播接收器,并且所有设置都可以正常工作

public class USBOff extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    Intent intent1 = new Intent(context, SdcardOff.class);
    startActivity(intent1);
    finish();
    }
 }

然而,这段代码告诉我需要创建完成方法和 startActivity 方法吗?为什么这不起作用谢谢你对我的问题的任何帮助

4

3 回答 3

2

startActivity是 Context 方法,而不是 BroadcastReceiver 方法。finish是一个活动方法。试试这个:

context.startActivity(intent1);

您不能finish从 BroadcastReceiver 调用。

于 2011-06-15T04:08:07.210 回答
0

我找到了一个 interexting 方法:Manfest:

android:launchMode="singleInstance"
<action android:name="com.gr.app.KILLSELF" />

接收器代码:

Intent intentInterface = new Intent("com.gr.app.KILLSELF");
mContext.startActivity(intentInterface);

活动 onCreate 部分:

if (intent.getAction().compareTo("com.gr.app.KILLSELF") == 0) {
        finish();
    };

如果您可能有许多活动实例(字符串 android:launchMode="singleInstance" 对您来说是个问题),它将无法在这样的配置中工作,

我希望它会有所帮助

于 2011-06-19T16:17:50.173 回答
0

简单的逻辑:

如果您不想终止活动,则不要使用finish() 如果您想终止活动,则应该调用finish();

所以去掉finish(); 从代码中尝试一下。享受。

于 2011-12-24T07:05:17.133 回答