在两个活动之间共享实例对象的好方法是什么?

时间:2015-11-09 14:36:54

标签: android android-service

我有两项活动。 如果我需要分享活动1的意图,它启动服务到活动2以停止服务(因为onStartCommand()返回START_STICKY因此需要使用相同的意图来停止服务)。我该如何巧妙地去做。

在活动1中

fun getN(file) = 
let 
    val input = TextIO.openIn file
    fun num(n) = 
        case n of
             NONE => []
           | SOME(str) => str_to_num(str) @ num(TextIO.inputLine input)
in 
    if OS.FileSys.access(file, []) then 
        num(TextIO.inputLine input) before TextIO.closeIn input
    else []
//OR
    num(TextIO.inputLine input) before TextIO.closeIn input
    handle Io => []
end;

在活动2中

我需要获得启动服务的意图(即wrapperServiceIntent)

Intent wrapperServiceIntent = new Intent(mContext,BleWrapperService.class);
bindService(wrapperServiceIntent,mBLEWrapperServiceConnection,BIND_AUTO_CREATE);
startService(wrapperServiceIntent);

1 个答案:

答案 0 :(得分:2)

同样的意图并不意味着您需要使用与startService()一起使用的确切对象。您只需要使用一个意图来启动您正在运行的服务。所以只是不要分享意图;重新创造它!