适用于API级别 = 11的设备上崩溃。

适用于API级别> = 11的剪贴板代码在API级别
由于两个版本的导入要求冲突,因此无法编译两个版本的代码。

一个需求:
导入android.text.ClipboardManager;

而其他需要:
导入android.content.ClipboardManager;

当然,有一种方法可以编写一些可在API级别11的两面使用的代码。我只是想不通。

*** 编辑(因为我无法回答自己的问题) *******

我发现了问题。异常消息说:“无法在未调用Looper.prepare()的线程内创建处理程序。”

显然,由于我是从异步任务执行此代码的,因此我不得不越过一些麻烦。

最佳答案



This sample project在11之前和之后的API级别上都可以很好地工作。我刚刚在Android 2.3(Nexus One)和Android 4.0(Nexus S)上对其进行了重新测试。



这不足为奇。如果您引用的是旧版Android中不存在的类或方法,则会收到VerifyError或类似的崩溃。



并不真地。



这适用于所有API级别。



该功能已添加到API级别11中。如果您的应用只能在API级别11或更高版本上运行,请使用此类(方法签名都是相同的IIRC)。

关于适用于所有API级别的Android剪贴板代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9027629/

10-10 20:18