【发布时间】:2017-12-21 01:21:03
【问题描述】:
我正在处理 android 上的一个奇怪错误: 我想用 Toast 打印一些东西,它在模拟器和设备上都很好用。 但是在我在 Manifest 文件中添加这一行之后(我必须,因为我想读取联系人):
"<uses-permission android:name="android.permission.READ_CONTACTS"/>"
所有的 toast 都不能在真实设备上运行(但仍然可以在模拟器上运行)。
代码:
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonFont= Typeface.createFromAsset(getAssets(), "tamir.ttf");
Toast.makeText(MainActivity.this,"welcome", Toast.LENGTH_SHORT ).show();
addSingleClickListener();
}
我不知道如何解决它。请帮忙...
【问题讨论】:
-
我有两种可能:1)在手机无法到达的位置调用toast,可能是因为您将其放置在您首先检查是否有权限的位置( 23+ 需要运行时询问权限) 2)由于崩溃、异常或其他阻止它被访问的东西,toast 永远不会被调用。请添加代码,否则这是猜测
-
没有理由添加代码,因为我在应用程序的任何地方都添加了 toasts 以确保我没有错。我在第一个 Main 类的 onCreate 中添加了 toast。在模拟器上它可以工作,在设备上 - 不是。
-
shalom,设备的日志中是否有任何内容?也许例外?
-
我还没有将设备连接到计算机,只是通过电子邮件发送了apk。我认为有人会给我一个很好的理由,说明为什么许可导致它不起作用。
-
问题解决了吗?怎么样?
标签: android android-toast