小编Vik*_*ngh的帖子

如何调试BOOT_COMPLETE广播接收器的"Force Close"崩溃?

由于手机重启并因此在启动时与Eclipse调试器/ LogCat断开连接,如何查看启动完整广播接收器崩溃的位置?

我正在我的公共类的onReceive()中执行一些操作BootCompleteReceiver扩展BroadcastReceiver {...}

当手机启动时,这会崩溃并弹出一个强制关闭对话框.如何调试此问题并查看问题所在?

调试任何BOOT_COMPLETE广播接收器的问题都适用.

谢谢!

编辑

是的,我们可以看到系统登录LogCat,因为手机正在启动,但我的应用程序Log.d(TAG,"Boot completed")必须等到它(onReceive)被触发但是到那时应用程序崩溃了,因为问题在接收器本身的某个地方.在我可以记录任何内容之前,应用程序崩溃了.另外,对于重启的手机,我无法使用"在调试模式下运行"...

android broadcastreceiver android-logcat bootcompleted

17
推荐指数
2
解决办法
9265
查看次数

android:theme ="@ android:style/Theme.NoTitleBar.Fullscreen"适用于应用程序级别,但不适用于活动级别.任何线索?

我需要将我的一项活动称为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

15
推荐指数
2
解决办法
9万
查看次数

如何在对话框中获取动态加载(setView)布局的元素(findViewById)?

我需要获取在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)

android preferenceactivity android-layout android-edittext

14
推荐指数
2
解决办法
3万
查看次数

活动可以在系统的默认接收器之前接收无序广播(来电)意图吗?

这是场景:

显示活动(活动).如果来电话,活动应该接收意图(将"来电屏幕"发送到后台/将其从显示器中隐藏)并且其本身对用户可见.我不一定想要抑制来电,因为我已经阅读了很多问题,这是公共API无法实现的.

我想要的只是以某种方式使我的活动隐藏在顶部隐藏的Android默认来电屏幕.

仅当我的活动可见时才需要此行为,这与使PHONE_STATE广播接收器启动我的活动不相等.后一个问题在SO上得到了多次回答.

请帮我.我一直在寻找近一天的方向.

谢谢你的时间.

android

6
推荐指数
1
解决办法
7191
查看次数

切换案例错误.适用于Mac的Android开发的Eclipse IDE:将工作区合规性更改为JRE 1.7

当尝试使用带有开关(字符串)的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)

java eclipse android

6
推荐指数
1
解决办法
4640
查看次数

如何将主题应用于<PreferenceCategory>的<PreferenceScreen>元素

我有一个扩展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 preferenceactivity

5
推荐指数
2
解决办法
1万
查看次数

是否有可能在Android中以编程方式呼叫一个人,然后让他/她听到预先录制的语音/音频?

我想知道是否可以使用公共android API以编程方式呼叫某个人,然后一拿起电话,让她听到预先录制的语音留言/音频?

在我得到评论之前,为什么我要这样做,或者它的用户体验不好,我只想澄清问题更多的是技术方面而不是实现,所以如果你有任何指示,请告诉我.

Thnx你的时间!

android

5
推荐指数
0
解决办法
1494
查看次数

从单独的myJavaClass.java完成Activity()

我已经尝试了几乎所有解决方案,但没有成功:(.

我有一个简单的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但是它无法这样做!

我试过了

  1. 在清单中创建MyCustomActivity SingleTop并通过上述意图创建活动

  2. 将一个活动实例传递给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)

android android-intent

4
推荐指数
1
解决办法
1万
查看次数

Eclipse Option不可用:Android工具>导出未签名的应用程序包

我创建了我的Google市场发布商私钥库.现在我想使用eclipse导出UNSIGNED apk但我无法找到选项:导出未签名的应用程序包.

我只能看到这个选项:导出Android应用程序,当我右键单击项目并单击导出时.如果我使用此选项,我无法使用jarsigner,因为它给出了一个错误,表明apk已经签名.

我假设上面的导出选项是导出一个(dubug key)签名的apk而不是一个未签名的.

请帮帮我!

eclipse android jarsigner google-play

4
推荐指数
1
解决办法
6052
查看次数

重要的DONT是一个很好的Android应用程序设计(初级/新手级别)?

任何人都可以指出一个好的来源或者在设计应用程序时提出概念性android编程DONT的简要列表吗?

我不希望我的问题含糊不清,所以我会给出虚拟的例子(可能没有任何意义或可能完全不正确)来解释我正在寻找的答案类似于:

例如:避免这些帮助您设计/编写强大的Android应用程序

  1. 在等待服务器响应时不要获取唤醒锁定或在广播侦听器的OnReceive中没有此逻辑...
  2. 扩展IntentService比在blah blah场景中扩展Services更好
  3. 不要在OnDestroy()中创建活动等等的线程

我希望你明白这一点.我知道这些可能是无限的,但我正在寻找初学者/新手应该记住的最重要的基本知识,这样他们才能成为更好的Android程序员.

谢谢!

编辑

设计我指的是编程(逻辑)和UI,而不仅仅是外观和感觉.

更重要的是那些带有经验并且由于这些原则/技巧的性质而未在书籍或教程中提及的那些.他们可能不是绝对正确或错误,但更好或更糟.因为他们不会教你一个新的概念,但会帮助你摆脱糟糕的编程/设计习惯.

android broadcastreceiver android-intent android-contentprovider android-activity

3
推荐指数
1
解决办法
1941
查看次数