奇怪的是,只有当我构建它时,应用程序才会崩溃,但如果我从android studio运行它,警报就可以正常工作。
这是非活动类
public class Rateapp {
public static void onexit(Context context){
AlertDialog.Builder alert = new AlertDialog.Builder(context);
alert.setTitle("Are you sure to Exit ?");
alert.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
System.exit(0);
}
});
alert.setCancelable(true);
alert.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
alert.create().show();
}
}
现在我想从mainActivity
中的onBackPressed调用onexit方法public class first_java extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first);
}
@Override
public void onBackPressed() {
Rateapp.onexit(this);
}
}
我不知道这是否会提供帮助,但无论如何这里都是styles.xml
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
编辑:我发现当proguard被激活时,应用程序会崩溃,如果不能正常运行,我该怎么办?
答案 0 :(得分:1)
如果没有明确设置为
,Proguard会删除几个类-keepclassmembers ....
添加这些并检查它是否仍在崩溃
keep class android.content.** { *; }
keep class android.support.v7.** { *; }
答案 1 :(得分:0)
您能否确认您是否能够在设备上安装应用并启动应用程序崩溃?如果是,那么您可能已收到错误日志,可以将其粘贴到此处。
答案 2 :(得分:0)
添加此super.onBackPressed();
您必须添加此
@Override
public void onBackPressed() {
super.onBackPressed();
Rateapp.onexit(getApplicationContext());
}