Nova如何管理这个?我真的试图做同样的事情:为用户提供一个按钮来清除并选择他们的新默认启动器.
我可以获取默认的应用名称并显示它:
private String getPrefered(Intent i) {
PackageManager pm = this.getActivity().getPackageManager();
final ResolveInfo mInfo = pm.resolveActivity(i, 0);
return (String) pm.getApplicationLabel(mInfo.activityInfo.applicationInfo);
}
Run Code Online (Sandbox Code Playgroud)
这里Intent i是
Intent home = new Intent("android.intent.action.MAIN");
home.addCategory("android.intent.category.HOME");
Run Code Online (Sandbox Code Playgroud)
然后我调用系统ResolveActivity,
private void makePrefered() {
Intent selector = new Intent("android.intent.action.MAIN");
selector.addCategory("android.intent.category.HOME");
selector.setComponent(new ComponentName("android", "com.android.internal.app.ResolverActivity"));
startActivity(selector);
}
Run Code Online (Sandbox Code Playgroud)
选择器出现并正常运行,但它实际上并未设置或清除任何值.在调试时,似乎我错过了一些额外的东西?当我调用该makePrefered方法时,我收到以下日志消息,
I/ActivityManager( 602): START {act=android.intent.action.MAIN cat=[android.intent.category.HOME] cmp=android/com.android.internal.app.ResolverActivity u=0} from pid 22641
Run Code Online (Sandbox Code Playgroud)
当我使用Nova实现时,我看到了所有这些,
I/PackageManager( 602): Result set changed, dropping preferred activity for Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 (has extras) } type null …Run Code Online (Sandbox Code Playgroud) 我有一个扩展FragmentPagerAdapter并利用ICS样式actionBar的适配器.此操作栏具有从当前所选页面获取输入的操作.
具体来说,我在操作栏中有一个截图图标,它获取当前页面的网址并显示该网址的所有屏幕截图.但是,我不知道如何检索当前选定的页面.
我怎样才能实现类似的东西
public int getActivePage() {
return position;
Run Code Online (Sandbox Code Playgroud)
我仍然在使用viewpager实现,所以我的代码仍然严重依赖于示例,所以忽略了混乱:P
问题区域标记如下.
public class ListFragmentViewPagerActivity extends FragmentActivity {
ArrayList<String> URLS;
ArrayList<String> TITLES;
BroadcastReceiver receiver;
String threadTitle = null;
public static String threadUrl = null;
String type = null;
String threadAuthor = null;
String ident = null;
boolean isFav = false;
String author = null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.thread_view);
Bundle extras = getIntent().getExtras();
threadTitle = extras.getString("title");
threadUrl = extras.getString("url");
type = extras.getString("type");
ident = extras.getString("ident");
author = extras.getString("author");
try …Run Code Online (Sandbox Code Playgroud) 我知道这个问题已被多次询问,但没有人能够从我所看到的那里得到一个有效的答案.
我正在开发一个应用程序拦截短信,并根据发送#,弹出一个自定义提醒.我让它与广播接收器完美配合,但是如果用户安装了goSms,那么onReceive()方法永远不会被调用,因为goSms在它到达我的应用程序之前就会中止它.
为了解决这个问题,我尝试了一个关于content://sms/
它的内容观察者工作得很好,但是它onChange()被调用两次,具有完全相同的参数.我试过检查时间戳,但它们是相同的,就像我设置的类型和其他所有参数一样.
从我所看到的情况来看,这是一个常见的问题,但不是我见过的任何一个问题.
@Override
public void onChange(boolean selfChange) {
super.onChange(selfChange);
querySMS();
}
protected void querySMS() {
Cursor cur = getContentResolver().query(u, null, null, null, null);
cur.moveToNext(); // this will make it point to the first record, which is the last SMS sent
String type = cur.getString(cur.getColumnIndex("type"));
String body = cur.getString(cur.getColumnIndex("body")); //content of sms
String add = cur.getString(cur.getColumnIndex("address")); //phone num
if (type.equals("1")) {
if (add.equals(Test.SENDER)) {
String[] bodys = body.split(" ", 7);
if (bodys[0].equals("test")) { …Run Code Online (Sandbox Code Playgroud) 我第一次注意到这是因为AlertDialogs将整个消息放在第一行,即使我指定了一个新行("\n").在ICS上它显示正确的方式,但对于我的生活,我无法让它在GB上工作.
最近我又碰到了它.我认为没有任何理由让它在ICS上工作正常但不在GB及以下.
示例项目
下面是一个带有textview,alertdialog和两个标准textview的示例项目.
https://github.com/T3hh4xx0r/Text-Example
编辑
这是我问的原始问题.似乎问题比我最初注意到的要多.
Android AlertDialog在某些设备上不显示整个setMessage
/编辑
这是我的意思的视觉例子.
即使专门为textView设置多行,文本仍然是一行,但下面有额外的空白行.
Within an app I am trying to create, I want to check for the availability of a hidden WiFi SSID. Sadly, networks with hidden SSIDs dont show up in scans so I cant wait for scan results returned via WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.
android.net.wifi.WifiManager.enableNetwork(int netId, boolean disableOthers)在为网络创建WifiConfig之后,我尝试使用它,以为如果网络能够连接,它将返回true,否则返回false,但是即使在我创建乱码的WifiConfig的情况下,它几乎总是返回true。
我只需要测试隐藏网络是否正在广播。我知道它的所有信息,包括SSID。
Lastpass如何管理这个?!
AccessibilityNodeInfo有一个setText()方法,但我觉得这是一个红色的鲱鱼,正如文档所述,
注意:无法从AccessibilityService调用.在传递给AccessibilityService之前,此类是不可变的.
另一位用户不久前问了一个类似的问题,但最近对LastPass的更新证明了这确实是可能的.
应用程序如何检查Android Wear设备的"静音"状态?
无论如何,所有卷似乎都是0.
Log.d("VOLUME - STREAM_SYSTEM", Integer.toString(audioManager.getStreamVolume(AudioManager.STREAM_SYSTEM)));
Log.d("VOLUME - STREAM_NOTIFICATION", Integer.toString(audioManager.getStreamVolume(AudioManager.STREAM_NOTIFICATION)));
Log.d("VOLUME - STREAM_RING", Integer.toString(audioManager.getStreamVolume(AudioManager.STREAM_RING)));
Run Code Online (Sandbox Code Playgroud)
给我
D/VOLUME - STREAM_SYSTEM(32598): 0
D/VOLUME - STREAM_NOTIFICATION(32598): 0
D/VOLUME - STREAM_RING(32598): 0
Run Code Online (Sandbox Code Playgroud) 我刚刚意识到我的应用程序,有超过300名用户仍在使用Gingerbread下的Android版本,因为他们没有API 9(2.3)中引入的DownloadManager而遇到问题.是否有兼容库或我可以使用的东西,或者是我最好的只是使用asyncTask手动下载文件?
我正在尝试下载一个文件,但它将其作为目录下载,我不知道是什么问题.使用ive的类我在其他项目中使用没有问题.
outfile是输出目录的完整路径,/ mnt/sdcard/file.ext
public class DownloadFile {
String outfile;
String zipfile;
Context c;
Notification notification;
NotificationManager notificationManager;
ProgressBar progressBar;
private int progress = 10;
public DownloadFile(String url, String out, String zip, Context ctx) {
c = ctx;
zipfile = zip;
outfile = out;
notificationManager = (NotificationManager) c.getSystemService(
c.NOTIFICATION_SERVICE);
new Download().execute(url);
}
private class Download extends AsyncTask<String, Integer, String>{
@Override
protected String doInBackground(String... urls) {
int count;
try {
URL url = new URL(urls[0]);
URLConnection conexion = url.openConnection();
conexion.connect();
int lenghtOfFile …Run Code Online (Sandbox Code Playgroud) 我有一个我需要更新的数据库条目.
这种方法显然不起作用,但它应该有助于解释我想要做什么.
public void updateEntry(String user, String message, String mentions, String og) {
ContentValues args = new ContentValues();
args.put(KEY_MESSAGE, message);
args.put(KEY_MENTIONS, mentions);
this.db.update(ENTRY_TABLE, args, ("message = ?", "username = "+user), new String[] {og});
}
Run Code Online (Sandbox Code Playgroud)
我需要更新"name"列和"message"列都匹配输入值的条目.
数据库具有多个具有相同用户的条目,并且可能具有多个具有相同消息但具有不同用户的条目,因此需要多个where子句.
如何在SQL查询中使用两个(或更多)where子句?