嗨我想在usb断开连接时杀死我的应用程序中的活动我有一个广播接收器,所有设置和工作正常
public class USBOff extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent intent1 = new Intent(context, SdcardOff.class);
startActivity(intent1);
finish();
}
}
但是这段代码告诉我需要创建finish方法和startActivity方法吗?为什么这不起作用谢谢你对我的问题有任何帮助
答案 0 :(得分:2)
startActivity
是Context方法,而不是BroadcastReceiver方法。 finish
是一种Activity方法。试试这个:
context.startActivity(intent1);
您无法从BroadcastReceiver呼叫finish
。
答案 1 :(得分:0)
我找到了一个interxting方法: 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”对您来说是个问题),它将无法在此类配置中运行,
我希望它会有所帮助
答案 2 :(得分:0)
简单逻辑:
如果你不想杀死活动,那么不要使用finish()如果你想杀死活动,那么你应该调用finish();
所以删除finish();从代码中试一试。 享受。