由于手机重启并因此在启动时与Eclipse调试器/ LogCat断开连接,如何查看启动完整广播接收器崩溃的位置?
我正在我的公共类的onReceive()中执行一些操作BootCompleteReceiver扩展BroadcastReceiver {...}
当手机启动时,这会崩溃并弹出一个强制关闭对话框.如何调试此问题并查看问题所在?
调试任何BOOT_COMPLETE广播接收器的问题都适用.
谢谢!
编辑
是的,我们可以看到系统登录LogCat,因为手机正在启动,但我的应用程序Log.d(TAG,"Boot completed")必须等到它(onReceive)被触发但是到那时应用程序崩溃了,因为问题在接收器本身的某个地方.在我可以记录任何内容之前,应用程序崩溃了.另外,对于重启的手机,我无法使用"在调试模式下运行"...
我需要将我的一项活动称为MyNoStatusBarActivity.java全屏活动.
我在Manifest中添加了:
<activity
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:name=".MyNoStatusBarActivity"
android:noHistory="true"
android:label="@string/app_name"
android:configChanges="touchscreen|keyboard|keyboardHidden|navigation|orientation">
...
</activity>
Run Code Online (Sandbox Code Playgroud)
在onCreate我的活动中:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
Run Code Online (Sandbox Code Playgroud)
这样做只是隐藏TITLE栏而不是STATUS栏.
此外,如果我在应用程序级别使用清单主题而不是我的活动,它可以工作,但我的应用程序的所有活动,这不是我想要的.我想只为一个特定的活动禁止状态栏.
帮助将非常感激.日Thnx!
PS:我很好,这种行为在Honeycomb/ICS中不再可用.我只需要2.2和2.3就可以了
编辑
尝试了SO中其他解决方案中提到的所有建议但尚未成功.应用于应用程序级别但不适用于活动级别时,主题可用.
我正在使用HTC WildFire-S,android ver 2.3.5
android statusbar android-manifest android-theme android-activity
我需要获取在xml布局中定义的EditText,该布局在首选项对话框中作为视图动态加载,即:
public class ReportBugPreference extends EditTextPreference {
@Override
protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {
super.onPrepareDialogBuilder(builder);
builder.setView(LayoutInflater.from(ctx).inflate(R.layout.preference_report_bug_layout,null));
EditText edttxtBugDesc = (EditText) findViewById(R.id.bug_description_edittext); // NOT WORKING
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:解决方案由jjnFord
@Override
protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {
super.onPrepareDialogBuilder(builder);
View viewBugReport = LayoutInflater.from(ctx).inflate(R.layout.preference_report_bug,null);
EditText edttxtBugDesc = (EditText) viewBugReport.findViewById(R.id.bug_description_edittext);
builder.setView(viewBugReport);
}
Run Code Online (Sandbox Code Playgroud) 这是场景:
显示活动(活动).如果来电话,活动应该接收意图(将"来电屏幕"发送到后台/将其从显示器中隐藏)并且其本身对用户可见.我不一定想要抑制来电,因为我已经阅读了很多问题,这是公共API无法实现的.
我想要的只是以某种方式使我的活动隐藏在顶部隐藏的Android默认来电屏幕.
仅当我的活动可见时才需要此行为,这与使PHONE_STATE广播接收器启动我的活动不相等.后一个问题在SO上得到了多次回答.
请帮我.我一直在寻找近一天的方向.
谢谢你的时间.
当尝试使用带有开关(字符串)的Switch Case作为android项目时,我在eclipse IDE中收到错误说:将工作区符合性更改为JRE1.7
如果源级别低于1.7,则无法为String类型的值打开.只允许使用可转换的int值或枚举常量
当我将项目属性更改为1.7时,我得到不同的错误说:
Android需要编译器合规性级别5.0或6.0.找到'1.7'而不是.请使用Android工具>修复项目属性
我不想将所有配置字符串更改为ENUMS.我还有其他选择吗?
我的环境:Eclipse SDK,版本:3.7.2,构建ID:M20120208-0800操作系统:Mac SnowLeopard(10.6.8)
我有一个扩展PreferenceActivity的活动.
我的主题:android:theme ="@ android:style/Theme.Light.NoTitleBar.Fullscreen"应用于Manifest文件中的应用程序级别.
除了"PreferenceCategory"的"PreferenceScreen"元素之外,所有内容都获得了所需的主题.它们仍然具有默认的黑色背景.简单来说,具有父首选项屏幕的主要首选项类别屏幕正在获取主题,但如果我点击任何首选项屏幕以转到其元素首选项(EditText等等),它们就不会获得主题...
任何想法为什么会这样?
结构或preferences.xml是这样的:
<PreferenceCategory>
<PreferenceScreen>
<EditTextPreference>
...
</EditTextPreference>
<EditTextPreference>
...
</EditTextPreference>
...
</PreferenceScreen>
<PreferenceScreen>
...
</PreferenceScreen>
</PreferenceCategory>
Run Code Online (Sandbox Code Playgroud) 我想知道是否可以使用公共android API以编程方式呼叫某个人,然后一拿起电话,让她听到预先录制的语音留言/音频?
在我得到评论之前,为什么我要这样做,或者它的用户体验不好,我只想澄清问题更多的是技术方面而不是实现,所以如果你有任何指示,请告诉我.
Thnx你的时间!
我已经尝试了几乎所有解决方案,但没有成功:(.
我有一个简单的myJavaClass.java,它有几个函数.
myJavaClass中的一个函数:startActivity()启动MyCustomActivity
public startActivity(Context context)
{
Intent intent = new Intent(context, MyCustomActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |Intent.FLAG_ACTIVITY_SINGLE_TOP);
context.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
}
这将按预期启动MyCustomActivity().
现在我在myJavaClass.java中有另一个函数来关闭/完成MyCustomActivity但是它无法这样做!
我试过了
在清单中创建MyCustomActivity SingleTop并通过上述意图创建活动
将一个活动实例传递给MyCustomActivity的onCreate()中的"this",并从myJava.class调用MyCustomActivity.activity.finish(),但这也不起作用
请帮我.我已经被困在这里几个小时了.我知道解决方案非常简单和概念,但我是新手.只需构建Java/Android概念!
编辑
MyCustomActivity
public Activity activity;
OnCreate()
{
...
this = activity;
}
Run Code Online (Sandbox Code Playgroud)
MyJavaClass
public closeActivity(Context context)
{
Activity customActivity = MyCustomActivity.activity;
customActivity.finish();
}
Run Code Online (Sandbox Code Playgroud) 我创建了我的Google市场发布商私钥库.现在我想使用eclipse导出UNSIGNED apk但我无法找到选项:导出未签名的应用程序包.
我只能看到这个选项:导出Android应用程序,当我右键单击项目并单击导出时.如果我使用此选项,我无法使用jarsigner,因为它给出了一个错误,表明apk已经签名.
我假设上面的导出选项是导出一个(dubug key)签名的apk而不是一个未签名的.
请帮帮我!
任何人都可以指出一个好的来源或者在设计应用程序时提出概念性android编程DONT的简要列表吗?
我不希望我的问题含糊不清,所以我会给出虚拟的例子(可能没有任何意义或可能完全不正确)来解释我正在寻找的答案类似于:
例如:避免这些帮助您设计/编写强大的Android应用程序
我希望你明白这一点.我知道这些可能是无限的,但我正在寻找初学者/新手应该记住的最重要的基本知识,这样他们才能成为更好的Android程序员.
谢谢!
编辑
设计我指的是编程(逻辑)和UI,而不仅仅是外观和感觉.
更重要的是那些带有经验并且由于这些原则/技巧的性质而未在书籍或教程中提及的那些.他们可能不是绝对正确或错误,但更好或更糟.因为他们不会教你一个新的概念,但会帮助你摆脱糟糕的编程/设计习惯.
android broadcastreceiver android-intent android-contentprovider android-activity