小编Mel*_*des的帖子

如何在Android中更改Activity的标题?

我在用

Window w = getWindow();
w.setTitle("My title");
Run Code Online (Sandbox Code Playgroud)

更改我当前活动的标题,但它似乎不起作用.

任何人都可以指导我如何改变这个?

android android-activity

217
推荐指数
7
解决办法
30万
查看次数

如何在Android中播放铃声/闹钟声音

我一直在寻找如何在Android中播放铃声/闹钟声音.

我按一个按钮,我想播放铃声/闹铃声.我找不到一个简单,直接的样本.是的,我已经查看了闹钟源代码......但它并不简单,我无法编译它.

我无法做到这一点:

Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM); 
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(this, alert);
final AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);

if (audioManager.getStreamVolume(AudioManager.STREAM_ALARM) != 0) {
    player.setAudioStreamType(AudioManager.STREAM_ALARM);
    player.setLooping(true);
    player.prepare();
    player.start();
}
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

04-11 17:15:27.638: ERROR/MediaPlayerService(30): Couldn't open fd for
content://settings/system/ringtone
Run Code Online (Sandbox Code Playgroud)

所以..如果有人知道如何播放默认铃声/闹钟,请告诉我.

我不想上传任何文件.只需播放默认铃声.

android android-emulator

113
推荐指数
9
解决办法
20万
查看次数

在Android Studio的AndroidManifest.xml中添加权限?

在Eclipse中,我们可以通过转到AndroidManifest.xml-> Permission->添加权限在AndroidManifest.xml中添加权限.

如何在Android Studio中添加权限?我们如何获得可以添加到活动的所有权限的列表?

permissions android android-manifest

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

Android ListView文字颜色

我试图将ListView textColor设置为黑色,因为我使用的是白色背景.

这是我的MailActivity

public class MailActivity extends ListActivity {

    String[] listItems = { "Compose", "Inbox", "Drafts", "Sent" };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.mails);

        setListAdapter(new ArrayAdapter(this,
                android.R.layout.simple_list_item_1, listItems));

    }
}
Run Code Online (Sandbox Code Playgroud)

和我的XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:background="#FFFFFF">

    <ListView 
        android:id="@android:id/list" 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>

    <TextView 
        android:id="@android:id/empty" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:text="Empty set" 
        android:textColor="#000000" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我将背景设为白色,但不确定将前景设置为黑色.我试过xml,看起来没有帮助.

android listview

49
推荐指数
3
解决办法
21万
查看次数

如何取消注册BroadcastReceiver

我的应用程序使用BroadcastReceiver以这种方式获取短信:

SmsBR.java

public class SmsBR extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Bundle bundle = intent.getExtras();
        if (bundle != null) {
            Object[] pdus = (Object[])bundle.get("pdus");
            final SmsMessage[] messages = new SmsMessage[pdus.length];

            for (int i = 0; i < pdus.length; i++) {
                messages[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
            }
            if (messages.length > 0)
                //doSomething();
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

的Manifest.xml

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".Activity" android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter> 
    </activity>

    <receiver android:name=".SmsBR">
        <intent-filter>
            <action android:name="android.provider.Telephony.SMS_RECEIVED"></action>
        </intent-filter> …
Run Code Online (Sandbox Code Playgroud)

android broadcastreceiver

42
推荐指数
2
解决办法
7万
查看次数

绑定到onCreate()或onResume()中的服务

我想知道Activity绑定到服务的最佳位置是什么?我看到的例子在做onResume()和也onCreate().我问自己这是不是一个问题onCreate(),因为onPause()我会对服务进行解除绑定,所以如果我离开活动,我就不会得到serviceConnectionLeak.现在,如果我按下主页按钮然后切换到主屏幕,当我从任务管理器返回活动时,活动将取消绑定服务,然后onCreate()将不会被调用,如果代码试图访问某个功能从服务我将得到一个NullPointerException.如果我只绑定和取消绑定onResume(),onPause()我没有这个问题.我对吗?

android

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

Android如何传递Activity.class作为函数的参数

我最近从python转移到Android,我被困在这里.

这是我的类声明,用于为Alert Dialog创建一个接受必要参数的通用函数

public static AlertDialog.Builder getAlertDialog(String strArray[],
        String strTitle, Activity v) {

    return new AlertDialog.Builder(v)
    .setTitle(strTitle).setItems(strArray,
            new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

但我无法通过这段代码调用此函数,这会给我一个错误

  getAlertDialog(strArray, strTitle, MakeCall.class).show();
Run Code Online (Sandbox Code Playgroud)

错误是

the method getAlertDialog(String[], String, Activity) in the type   MakeCallAlertDialog is not applicable for the arguments (String[], String, Class<TestActivity>)
Run Code Online (Sandbox Code Playgroud)

谁能告诉我如何正确地得到这个?先感谢您.

java android

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

Android选项菜单无法显示

我是Android新手,我一直在尝试添加一个简单的添加按钮,如下所述

list_menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item 
        android:id="@+id/menu_insert"
        android:icon="@android:drawable/ic_menu_add"
        android:title="@string/menu_insert"              
    />     
</menu>
Run Code Online (Sandbox Code Playgroud)

MyActivity.java

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        super.onCreateOptionsMenu(menu);
        getMenuInflater().inflate(R.menu.list_menu, menu);

        return true;  
    }
Run Code Online (Sandbox Code Playgroud)

我在Dummies系列书中读到ic_menu_add已经存在于资源中,我不需要添加它,但是当我运行此代码时它不会显示.我试图添加一个同名的自定义图标仍然没有按钮.请有人帮帮我吧.

java xml android menu

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

活动方法:onCreate()和onDestroy()

当第一次创建一个活动时,系统将该OnContentChanged()方法作为第一个方法调用,系统最后一次调用是OnDetachedFromWindow()一个活动被杀死的方法,但是android文档说活动的整个生命周期发生在OnCreate()和之间OnDestroy().为什么?请帮助我理解这些方法之间的区别.

码:

import android.app.Activity;
import android.content.res.Configuration;
import android.os.Bundle;
import android.widget.Toast;

public class ActivitylifecycleActivity extends Activity {
    /** Called when the activity is first created. */

    @Override
    public void onContentChanged() {
        super.onContentChanged();   
        Toast.makeText(getApplicationContext(),"1. onContentChanged()", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Toast.makeText(getApplicationContext(),"2. onCreate()", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onStart() {
        super.onStart();
        Toast.makeText(getApplicationContext(),"3. onStart()", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onRestoreInstanceState(Bundle restoreInstanceState) {
        Toast.makeText(getApplicationContext(),"4. onRestoreinstaneState()", Toast.LENGTH_SHORT).show();
        super.onRestoreInstanceState(restoreInstanceState);
    }

    @Override
    public void onRestart() …
Run Code Online (Sandbox Code Playgroud)

android android-activity

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

Android ANR - 输入调度超时

我已经开始从许多代码位置接收几个奇怪的ANR报告(应用程序无响应).

输入调度超时(等待,因为没有窗口具有焦点,但有一个专注的应用程序,最终可能在完成启动时添加窗口.)

这个ANR总是在我的代码中的不同位置弹出,并且它们不遵循逻辑模式.我在一个月前开始收到这些错误.

有一些ANR报告的例子和他各自的代码行:

at android.support.v7.app.AppCompatActivity.setContentView (AppCompatActivity.java:139)
at br.com.xxx.xxx.activities.MainActivity.onCreate (MainActivity.java:71)
at android.app.Activity.performCreate (Activity.java:6245)

MainActivity.java:71: setContentView(R.layout.activity_main);
Run Code Online (Sandbox Code Playgroud)

另一个例子:

at android.support.v4.app.BackStackRecord.replace (BackStackRecord.java:421)
at br.com.xxx.xxx.activities.MainActivity.openFragment (MainActivity.java:146)
at br.com.xxx.xxx.activities.MainActivity.openMenu (MainActivity.java:121)

                       currentFragment = new CardsFragment();
MainActivity.java:146: openFragment(currentFragment);
Run Code Online (Sandbox Code Playgroud)

那个甚至没有参考代码:

  at java.lang.Object.wait! (Native method)
- waiting on <0x0a7b02dc> (a java.lang.Object)
  at java.lang.Thread.parkFor$ (Thread.java:1220)
- locked <0x0a7b02dc> (a java.lang.Object)
  at sun.misc.Unsafe.park (Unsafe.java:299)
  at java.util.concurrent.locks.LockSupport.park (LockSupport.java:158)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt (AbstractQueuedSynchronizer.java:810)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly (AbstractQueuedSynchronizer.java:971)
  at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly (AbstractQueuedSynchronizer.java:1278)
  at java.util.concurrent.CountDownLatch.await (CountDownLatch.java:203)
  at android.app.SharedPreferencesImpl$EditorImpl$1.run (SharedPreferencesImpl.java:366)
  at android.app.QueuedWork.waitToFinish (QueuedWork.java:88)
  at android.app.ActivityThread.handleStopService (ActivityThread.java:3065)
  at android.app.ActivityThread.-wrap21 (ActivityThread.java) …
Run Code Online (Sandbox Code Playgroud)

android android-anr-dialog

14
推荐指数
1
解决办法
2773
查看次数